SystemdDoctor
служба не работает монтирование сеть samba

Монтирование ресурса SMB не проходит: учётные данные

Для монтирования ресурсов SMB нужны учётные данные, и хранить их в самой записи монтирования нельзя: файл fstab доступен всем для чтения. Правильный способ — отдельный файл с закрытыми правами.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Учётные данные в открытом виде или недоступны

    Пароль в записи монтирования читается любым пользователем. Отдельный файл с правами 0600 решает это, но путь к нему должен быть указан верно.

  2. Версия протокола не поддерживается сервером

    Современные клиенты по умолчанию не используют устаревшие версии протокола. Старый сервер отказывает в подключении.

  3. Монтирование выполняется до готовности сети

    Без параметра сетевого устройства запись обрабатывается наравне с локальными, и монтирование не проходит при загрузке.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Сообщения ядра о подключении ресурса.

journalctl -k -b --no-pager | grep -i cifs | tail -10

Права на файл учётных данных: должны быть 0600.

sudo ls -l /etc/samba/creds

Смонтированные ресурсы SMB.

findmnt -t cifs -o TARGET,SOURCE,OPTIONS

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Учётные данные в открытом виде или недоступны
Почему происходит
Пароль в записи монтирования читается любым пользователем. Отдельный файл с правами 0600 решает это, но путь к нему должен быть указан верно.
Как проверить
Посмотрите запись и файл учётных данных.
grep -i cifs /etc/fstab
sudo ls -l /etc/samba/creds 2>/dev/null
Как исправить
Вынесите имя и пароль в файл с правами 0600 и укажите его параметром монтирования.
# /etc/fstab
# //server/share /mnt/share cifs credentials=/etc/samba/creds,_netdev,nofail 0 0
2. Версия протокола не поддерживается сервером
Почему происходит
Современные клиенты по умолчанию не используют устаревшие версии протокола. Старый сервер отказывает в подключении.
Как проверить
Посмотрите сообщение ядра и попробуйте указать версию.
journalctl -k -b --no-pager | grep -i cifs | tail -10
Как исправить
Укажите версию протокола параметром монтирования. Возврат к устаревшим версиям ослабляет защиту: делайте это осознанно.
3. Монтирование выполняется до готовности сети
Почему происходит
Без параметра сетевого устройства запись обрабатывается наравне с локальными, и монтирование не проходит при загрузке.
Как проверить
Посмотрите параметры и порядок.
grep -i cifs /etc/fstab
systemctl list-units --type=mount --all --no-pager | grep -i share
Как исправить
Добавьте параметры сетевого устройства и необязательности: тогда загрузка не будет ждать и не сломается.

Пример вывода

Монтирование отклонено: неверные учётные данные. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

mount[4300]: mount error(13): Permission denied
kernel: CIFS: VFS: \\server\share Send error in SessSetup = -13
systemd[1]: mnt-share.mount: Mount process exited, code=exited, status=32/n/a

Связанные ошибки

Где встречается чаще всего

Источники

  • systemd.mount.cifs(8)
    Параметры монтирования и файл учётных данных.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено неверным паролем в файле учётных данных.
    собственная проверка, systemd 255
    сверено 15 сентября 2026