Вопрос или проблема
У меня есть домашний сервер на Debian, который предоставляет 3 отдельные папки в виде Samba-шар. У меня не было проблем с ними за все время, пока они активны, или в процессе их использования. Сегодня я попробовал добавить 4-ю папку в качестве еще одной шары и не смог добиться, чтобы изменения в smb.conf сохранялись.
Вот процесс, который я проделал до сих пор:
- Служба smbd работает.
systemctl status
сообщает, что все в порядке,smbclient -L localhost
отображает 3 общих папки, и все 3 доступны с компьютера на Windows в локальной сети. - Я изменяю /etc/samba/smb.conf, чтобы добавить новую шару (я также пробовал добавить всего одну строку комментария, проблема та же). Повторное открытие smb.conf после сохранения изменений все еще показывает их в файле.
smbcontrol all reload-config
, а затемsmbclient -L localhost
отображает новую шару, и она доступна с компьютера под Windows. Чтение и запись в шару работают как и ожидалось. smb.conf все еще показывает мои изменения.- Проверка smb.conf после выполнения
systemctl stop smbd
все еще показывает мои изменения. systemctl start smbd
сбрасывает smb.conf на то, что было на этапе 1. Что примечательно, это не стандартный smb.conf, 3 уже настроенные шары по-прежнему присутствуют и работают. Новая шара больше не отображается вsmbclient
и недоступна в сети.
Мне нужно представить, что какая-то часть запуска службы загружает резервную копию smb.conf, но откуда? И как мне сделать так, чтобы это не происходило?
Ответ или решение
Каждый системный администратор, работающий с Samba на сервере Debian, сталкивался с проблемами, связанными с изменением конфигурационных файлов. В вашем случае появление проблемы, когда после перезапуска службы smbd
конфигурация smb.conf
сбрасывается, может быть связано с несколькими причинами.
Фоновая информация о Samba и smb.conf
Samba использует файл smb.conf
для определения общих ресурсов и их параметров. Правильная настройка этого файла критически важна, так как именно от него зависит доступ пользователей к сетевым ресурсам. После изменений в этом файле важно убедиться, что служба Samba их распознает и применяет.
Возможные причины проблемы
-
Конфигурационный файл, котрый перезаписывается:
Возможно, есть механизм, который перезаписывает вашsmb.conf
при запуске службы. Например, если у вас установлены какие-либо управляющие инструменты или скрипты, которые автоматически генерируют этот файл. -
Проблемы с правами доступа:
Проверьте, что у пользователя, под которым вы редактируетеsmb.conf
, есть необходимые права на запись. Убедитесь, что файл не защищен от записи (chmod
). -
Дефолтные настройки:
Если в системе есть иные комбинации и/или конфигурации SMB, такие какsamba-tool
или другие утилиты, которые могут соответствовать вашим настройкам и правилам (например, DSC или Ansible), они могут перезаписывать ваш конфиг.
Шаги для решения проблемы
-
Проверка слежения за файлами конфигурации:
Запустите командуinotifywait
для отслеживания изменений файлаsmb.conf
в момент старта службы, чтобы определить, кто именно или что именно вносит изменения.inotifywait -m /etc/samba/smb.conf
-
Ручное сравнение с резервными копиями:
Проверьте наличие резервных копий файлаsmb.conf
. Обычно службы могут хранить резервные копии. Если такие файлы существуют, сравните их с вашим измененнымsmb.conf
. -
Логи системы:
Изучите логи Samba и системные логи (/var/log/samba/
и/var/log/syslog
), чтобы выяснить, не выводятся ли ошибки или предупреждения во время перезапуска службы. -
Автоматизированные инструменты:
Проверьте, не активированы ли механизмы управления конфигурацией, которые могут автоматически вносить изменения в конфигурационный файл при каждом запуске службы. Это может бытьNetPlan
,Puppet
и т.д. -
Изменение конфигурации:
Как временное решение, попробуйте вместо командыsystemctl start smbd
использоватьsystemctl restart smbd
, хотя это не должно сильно изменить ситуацию, это может дать информацию о процессе остановки и запуска службы.
Вывод
Если проблема продолжает возникать, возможно, стоит рассмотреть возможность переустановки Samba, либо же создание нового конфигурационного файла на базе документации, без ненужных изменений. Убедитесь, что все изменения прописаны и применяются к правильному файлу конфигурации без каких-либо автоматизированных конфликтов.
Следуйте приведённым шагам, и ваш новый общий ресурс станет доступен без дальнейших нюансов, позволяя вам максимально эффективно управлять вашим сервером Samba.