Общие сведения о Samba
Данный продукт представляет собой комплект серверного и
клиентского программного обеспечения для осуществления связи
UNIX-машин с сетями
Microsoft™ и
LanManager, которые сами по себе
представляют собой подклассы
[8]
сетей SMB.
Исходно сети SMB были разработаны фирмой
IBM™, базировались на протоколе
NetBIOS, предназначились прежде всего для
сетей Token Ring и были в полной мере
реализованы в OS/2 Warp
LanServer. Позднее в Windows
95 этот протокол был заменен на
NetBEUI (несколько упрощенная версия
NetBIOS).
Чуть ранее в OS/2 Warp и
NT 3.5 была реализована более удобная
для сложных гетерогенных сетей реализация, работающая поверх
TCP/IP —
"NetBIOS over
TCP/IP”. Ввиду явных преимуществ
данного подхода он используется и поныне. Когда где-либо в
Windows вы организовываете работу с
сетевыми разделяемыми ресурсами по
TCP/IP, то на самом деле используется
"NetBIOS over
TCP/IP” (о чем, например, в
Win95 в свойствах
TCP/IP в закладке NetBIOS
есть соответствующая отметка).
Samba также использует протокол
"NetBIOS over
TCP/IP”, что позволяет ей успешно
взаимодействовать с такими реализациями SMB,
как входящие в OS/2 3-4,
Windows 9X-ME,
NT3.5-4/2000/XP,
UNIX-системами с
Samba и, возможно, другими
подобными. Менее очевидно то, что
Samba не может работать без
использования TCP/IP (на
NetBIOS и NetBEUI). Об
этом не стоит забывать при проектировании сетей.
Итак, для работы в сетях SMB необходимы:
Все это есть в пакетах samba-client,
samba-client-cups,
samba-common, samba,
samba-swat, входящих в состав дистрибутива.
При использовании SMB доступны следующие
ресурсы:
Первые три пункта поддерживаются
Samba в полном обьеме, последний
— частично, но это направление стремительно развивается и
весьма полно реализовано в Samba 3.0,
описанной ниже.
Также доступен весьма объемный комплект документации в пакете
samba-doc; большинство ссылок данного
раздела будут указывать именно на содержимое этого пакета.
Краткий обзор каталогов и файлов
Все файлы конфигурации и авторизации
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/
и подробно ознакомиться с каждым, прочитав соответствующие
разделы документации.
Здесь же мы остановимся лишь на самых важных и наиболее часто
используемых компонентах.
серверные компоненты:
- /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, которые радикально
отличаются следующими особенностями:
restart производит полный
рестарт процессов smbd и
nmbd со сбросом текущих
соединений. Как правило, клиенты сами
производят автоматический реконнект к
ресурсам, однако если в момент рестарта были
открыты файлы, то возможны проблемы с
клиентскими приложениями (например,
MS Office и
1C);
reload заставляет
smbd и
nmbd только лишь
перечитывать файлы конфигурации без рестарта
и сброса соединений. При этом старые
соединения продолжают существовать по старым
правилам, а ко всем новым соединениям будут
применены уже новые правила на основании
файлов конфигурации.
клиентские компоненты:
- /usr/bin/smbclient
интерактивное приложение для просмотра сетевых
ресурсов;
-
/sbin/mount.smb,
/sbin/mount.smbfs,
/usr/bin/smbumount,
/usr/sbin/smbmnt,
/usr/bin/smbmount
средства монтирования/размонтирования сетевых
файловых систем.
утилиты:
- /usr/bin/smbpasswd
управление пользователями и подключением к домену;
- /usr/bin/wbinfo
отображение списка пользователей, импортированных
winbindd;
- /usr/bin/testparm
проверка синтаксиса конфигурационных файлов;
- /usr/bin/smbstatus
отображение статуса процессов
smbd и nmbd;
- /usr/bin/nmblookup
программа разрешения имен WINS
(аналог nslookup для
DNS).
Источник: http://www.samba.org.ua/articles/?section=2&articleid=108 |