SystemdDoctor
smbd.service файловые системысеть

Samba в systemd: почему smbd не запускается

Samba проверяет свой файл настроек при запуске отдельной командой, и это первое, что стоит выполнить при отказе. Остальные причины — занятые порты, недоступные каталоги ресурсов и конфликт со службой обнаружения имён.

О службе

Файл smb.conf проверяется командой testparm: она печатает ошибки и итоговый вид настроек со всеми значениями по умолчанию. Это заметно быстрее, чем перезапускать службу и читать журнал.

Служб две: обслуживание файлов и обслуживание имён. Вторая занимает порты обнаружения и часто конфликтует с другими службами в сети. Если обнаружение имён не нужно, её можно не включать.

Как устроена

Файл настроек/etc/samba/smb.conf; проверка — testparm -s
Связанные unitsmbd.service (файлы), nmbd.service (имена), winbind.service (домен)
Порты445 и 139 для файлов, 137 и 138 для обнаружения имён
Журнал/var/log/samba/ и журнал systemd

Частые ошибки

7 записей базы отмечены за этой службой.

Коды выхода

  • status=1/FAILURE в systemdКод 1/FAILURE означает, что программа запустилась и сама завершилась с ошибкой. Как найти настоящую причину в журнале службы.

Сообщения журнала

  • Address already in use при запуске службыПорт или адрес уже занят: bind() failed (98: Address already in use). Как найти владельца порта и что делать с остатками прежнего процесса.
  • Permission denied в журнале службыОтказ в доступе у службы systemd: права на файл, каталоги по пути, пользователь службы, параметры изоляции, SELinux и AppArmor.
  • No such file or directory в журнале службыСлужба не находит файл или каталог. Разбор: путь, момент запуска, изоляция unit-файла, символические ссылки, приватный /tmp.

Ошибки служб

Таймеры, сокеты, монтирование

Коды выхода этой службы

Числа в status=N ниже 200 назначает сама программа, 200 и выше — systemd, когда не смог подготовить запуск.

statusЧто означает у этой службыКуда смотреть
1/FAILURE ошибка в файле настроек или занятый порт. разбор

Диагностика

Проверка настроек и итоговый вид параметров.

testparm -s 2>&1 | head -20

Состояния обеих служб.

systemctl status smbd nmbd --no-pager | head -16

Кто занимает порты обслуживания файлов.

sudo ss -tlnp | grep -E ":(445|139)\s"

Подключённые клиенты при работающей службе.

sudo smbstatus -b 2>/dev/null | head

Параметры unit, которые тут важны

  • RequiresMountsFor=ресурсы на отдельных разделах требуют зависимости от монтирования
  • LimitNOFILE=много открытых файлов при активных клиентах
  • ExecReload=перезагрузка настроек без разрыва сессий

Источники

  • smb.conf(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026