Файловый сервер Samba

Файлы конфигурации
/etc/samba/smb.conf – основная конфигурация
/etc/samba/smbusers – отображение имен сетевых пользователей на учетные записи UNIX
/etc/samba/lmhosts – отображение имен файловых серверов на ip адреса

/etc/samba/smbpasswd – файл с паролями, как правило вручную не меняется, имя можно поменять в smb.conf

Утилиты
smbpasswd – смена пароля пользователя, добавление учетной записи пользователя или компьютера в файл smbpasswd
testparm – проверка корректности smb.conf
testprns – проверка конфигурации сетевых принтеров
smbstatus – информация о подключенных клиентах
smbclient – утилита командной строки для подключения к серверу
nmblookup – просмотр зарегистрированнных имен NETBIOS

Файл /etc/samba/smb.conf состоит из секций имена которых выделяются квадратными скобками.
Секция [global] определяет общие настройки, [homes] доступ к домашним каталогам, остальные определяют прочие сетевые ресурсы раздаваемые этим сервером

[global]
#имя рабочей группы или домена
workgroup = IMM
#Сетевое имя компьютера, по умолчанию совпадает с hostname
netbios name = SERVER1

# Сохранять ли регистр букв
preserve case = yes
# А для "досовских" имен
short preserve case = no
# Если преобразуем ДОСовские имена, то как
default case = lower

case sensitive = no

[homes]
comment = Home Directories
browseable = no
writable = yes

[sampleshare]
path = /share
comment = Тестовый сетевой ресурс
guest ok = yes
browseable = yes
writable = no
write list = @admin
force create mode = 0664
force directory mode = 0775

Поддержка русских букв в именах файлов

Для того, чтобы русские имена файлов записанных на сервер через Samba нормально выводились в Дinux необходимо добавить в глобальную секцию smb.conf
dos charset=866
unix charset= UTF8

Группы пользователей

В Samba 3.0 появилась возможность произвольного отображения Unix'овских групп пользователей в любые группы домена. Для этого используется команда net.

Просмотр соответствий
net groupmap list

Создание собственной группы
groupadd mygroup
net groupmap add ntgroup="My group" unixgroup=mygroup type=d

Установка соответствий
net groupmap modify ntgroup="Users" unixgroup=public

Пример из книги John H. Terpstra “Samba-3 by Example”. Вторая часть примера мне кажется сомнительной. Из /etc/group понадерганы служебные группы, добавлены нестандартные public и ntadmin. Принцип сопоставления в половине случаев непонятен.

# Map Windows Domain Groups to UNIX groups
net groupmap modify ntgroup="Domain Admins" unixgroup=root
net groupmap modify ntgroup="Domain Users" unixgroup=users
net groupmap modify ntgroup="Domain Guests" unixgroup=nobody