Краткий обзор каталогов и файлов

Все файлы конфигурации и авторизации Samba расположены в каталоге /etc/samba и его под-каталогах. Рассмотрим их несколько подробнее.

MACHINE.SID

системный идентификатор машины, формируется автоматически при старте сервера и предназначен для идентификации компьютера в домене сети Microsoft™;

codepages/

каталог, содержащий файлы с таблицами перекодировки;

lmhosts

то же, что и /etc/hosts, но предназначен для преобразования IP<=>NetBIOS. Как правило содержит только одну запись:

127.0.0.1 localhost
			  

но можно считать удачной идеей[9] заносить туда хосты из других подсетей (когда по ряду причин невозможно надёжно провести преобразование IP<=>NetBIOS ни широковещательными запросами, ни с использованием WINS) или наоборот — ключевые сервера собственного домена;

secrets.tdb

ключевой файл для идентификации машины в домене сети Microsoft™. С точки зрения безопасности имеет ту же ценность, что и файлы /etc/tcb/*/shadow — а потому права доступа должны быть root.root 0600;

smb.conf

основной конфигурационный файл Samba. Он нужен не только серверной части, но и всем остальным компонентам этой системы;

smbpasswd

аналог /etc/passwd и /etc/tcb/*/shadow — файл пользователей сервера Samba с паролями. С точки зрения безопасности имеет ту же ценность, что и /etc/tcb/*/shadow — а потому права доступа должны быть root.root 0600. Соответствие пользователей Samba и системных производится на основе общего UID; данный файл используется Samba при отсутствии данных о пользователе на PDC или при отсутствии самого PDC;

smbusers

файл соответствий имён сетевых и локальных пользователей SMB; это удобный метод для организации административных и гостевых входов на сервер. Соответствие пользователей Samba и системных производится на основе символьных имён;

/var/log/samba/*

лог-файлы серверной части Samba. Из них log.smbd, log.nmbd, log.winbind — журналы соответствующих процессов, а все прочие — логи взаимодействия сервера с отдельными клиентскими хостами в формате именования по умолчанию log.<Client_NetBIOS_NAME>. При превышении заданного в smb.conf предела производится ротация логов и формируются файлы *.old;

/var/spool/samba

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

/var/cache/samba/*

файлы (как правило, двоичные базы данных), формируемые в процессе работы различных компонентов Samba. Наиболее примечательны:

browse.dat и wins.dat

текстовые файлы, их названия говорят сами за себя;

winbindd*.tdb

базы данных доменных пользователей, формируемых winbind (см. “Использование winbind”). Время от времени их необходимо архивировать: если при апгрейде, “переезде” или переустановке сервера winbind сгенерирует эти файлы с нуля, то соответствия системных и доменных символьных и числовых имён изменятся и права доступа на восстановленные из архива файлы окажутся заведомо перепутанными. Поэтому настоятельно рекомендуется архивировать файлы /var/cache/samba/winbindd*.tdb;

/var/lib/samba/*

служебные каталоги для администратора сервера.

Список выполняемых файлов Samba можно получить командой:

$ rpm -ql `rpm -qa | grep samba` | grep bin/
	  

и подробно ознакомиться с каждым, прочитав соответствующие разделы документации.

Здесь же мы остановимся лишь на самых важных и наиболее часто используемых компонентах.

  1. серверные компоненты:

    /usr/sbin/nmbd

    сервер преобразования имён и адресов;

    /usr/sbin/smbd

    файловый сервер;

    /usr/sbin/winbindd

    сервер импорта пользователей и групп с PDC;

    /usr/sbin/swat

    средство конфигурирования Samba с web-интерфейсом;

    /etc/init.d/smb и /etc/init.d/winbind

    управляющие скрипты инициализации сервисов.

    Следует отметить, что у скрипта /etc/init.d/smb есть два режима рестарта — restart и reload, которые радикально отличаются следующими особенностями:

    1. restart производит полный рестарт процессов smbd и nmbd со сбросом текущих соединений. Как правило, клиенты сами производят автоматическое переподключение к ресурсам, однако если в момент рестарта были открыты файлы, то возможны проблемы с клиентскими приложениями (например, MS Office и 1C);

    2. reload заставляет smbd и nmbd только лишь перечитывать файлы конфигурации без рестарта и сброса соединений. При этом старые соединения продолжают существовать по старым правилам, а ко всем новым соединениям будут применены уже новые правила на основании файлов конфигурации.

  2. клиентские компоненты:

    /usr/bin/smbclient

    интерактивное приложение для просмотра сетевых ресурсов;

    /sbin/mount.smb, /sbin/mount.smbfs, /usr/bin/smbumount, /usr/sbin/smbmnt, /usr/bin/smbmount

    средства монтирования/размонтирования сетевых файловых систем.

  3. утилиты:

    /usr/bin/smbpasswd

    управление пользователями и подключением к домену;

    /usr/bin/wbinfo

    отображение списка пользователей, импортированных winbindd;

    /usr/bin/testparm

    проверка синтаксиса конфигурационных файлов;

    /usr/bin/smbstatus

    отображение статуса процессов smbd и nmbd;

    /usr/bin/nmblookup

    программа разрешения имён WINS (аналог nslookup для DNS).



[9] Как и с /etc/hosts, увлекаться содержанием распределённых данных в локальных файлах не стоит.