середа, 25 травня 2011 р.

Домашний сервер на Ubuntu Server (часть 3). Настройка Samba

samba-serverВ предыдущих постах мы установили Ubuntu Server, настроили SSH-доступ и запустили торрент-клиент Transmission. Пришло время расшарить папки сервера, чтобы забирать скачанные торренты и не только их.

Установка Samba:

sudo apt-get install samba

Настройка. Самба хранит все свои настройки в файле /etc/samba/smb.conf. Откроем его для редактирования

sudo nano /etc/samba/smb.conf

Каждый раздел файла начинается с заголовка раздела: [global], [homes], [printers], и т.п.

В [global] определяются глобальные настройки для всего сервера.

Раздел [homes] позволяет удаленным пользователям иметь доступ к своим (и только своим) домашним директориям на сервере. Т.е., если к серверу подключиться пользователь user1, то он будет подключены к своему домашнему каталогу. Для этого он должен быть зарегистрированы на сервере.

В [printers] прописаны настройки для принтеров. Этот раздел сейчас затрагивать не будем, о нем будет отдельный пост.

Глобальные настройки:

[global]
; куда записывать логи
log file = /var/log/samba/log.%m
; максимальный размер файла журнала
max log size = 1000

# имя самба сервера в сетевом окружении
netbios name = HomeServer
; коментарий самба сервера
server string = Home Server Ubuntu
; Рабочая группа
workgroup = WORKGROUP
; выступать как контролер домена
domain master = no

; привязка к интерфейсам, на каких слушать, если не указано
;слушает на все интерфейсах, можно указать ай-пи адреса
interfaces = lo, eth2

; подчиняться директивам учетных записей PAM и управлению сессиями
obey pam restrictions = yes
; шифрование паролей между сервером и клиентом
encrypt passwords = true
; параметр сообщают демону smbd что делать с запросами,
; которые не удалось аутентифицировать в UNIX
; bad user – запросы с неправильным паролем будут отклонены, если
; такое имя пользователя существует. Если не существует, то такие запросы
; будут считаться как попытки зайти гостем (guest account).
map to guest = bad user

; определяет будет ли демон nmbd делать запрос к DNS, если WINS
; не смог разрешить NetBIOS имя
dns proxy = no

; параметр заставляет синхронизировать пароль UNIX с паролем SMB при
; изменении зашифрованного пароля SMB в файле smbpasswd. При включении
; этого параметра (yes) от пользователя ROOT вызывается программа,
; определенная в параметре passwd program, что позволяет установить
; новый пароль UNIX без доступа к старому паролю UNIX
unix password sync = yes
; имя программы, которую можно использовать для смены паролей UNIX,
; любые вхождения %u будут заменены именем пользователя
passwd program = /usr/bin/passwd %u
; механизм для хранения информации о пользователях
passdb backend = tdbsam

; уровень отладки журналов событий, которые будут записываться
; в системный syslog, 0 - события LOG_ERR, 1 - LOG_WARNING,
; 2 — LOG_NOTICE, 3 - LOG_INFO.
syslog = 0

; режим работы Samba:
; share - уровень ресурсов,
; user - уровень пользователей, доступ по логин-паролю,
; domain - домен,
; server - сервер паролей,
; ads - Active directory
security = user

; не аутентифицированные пользователи получают доступ к общим
; ресурсам пользователей
usershare allow guests = yes

panic action = /usr/share/samba/panic-action %d
os level = 20

; если включено, для смены паролей будет использован PAM, вместо
; программы указанной в параметре passwd program
pam password change = yes

; разрешаем доступ для всех со своей подсетки и локалхоста
hosts allow = 192.168.10. 127.

; пользователь с root-правами
admin users = user1

; выступать сервером времени
time server = yes

Основные настройки сделаны. Теперь расшарим нужные папки.

Расшариваем домашние папки пользователей

[HOMES]
; комментарий
comment = Home directories
; путь к папке, %U = имя пользователя
path = /home/samba/homes/%U
; только для чтения?
read only = no
; вход с паролем?
public = no
; запись разрешена?
writable = yes
; права создаваемых файлов и папок
create mask = 0600
directory mask = 0700
; отображать в списке ресурсов в сетевом окружении?
browseable = no

Далее расшариваем нужные папки. Для каждой папки можно определить свои параметры доступа. Для этого дописываем в конец конфиг-файла smb.conf разделы как представлено в примере ниже.

Пример:

; создадим расшаренную папку files
[files]
; комментарий к создаваемой папке
comment = Media files
; путь к папке
path = /home/user1/files
; будем разрешать доступ только по паролю
public = yes
; не видно в сетевом окружении всем кроме владельцев
printable = no
; запрещаем запись всем
writable = no
; и разрешаем запись для user1 и пользователям из группы adm
write list = user1@adm

По аналогии создаются все остальные шары.

Для добавления пользователей в Samba делаем следующее:

smbpasswd -a username

Вам будет предложено ввести пароль, пользователь будет добавлен в базу, теперь необходимо включить этого пользователя.

smbpasswd -e username

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

testparm

если testparm сообщает об отсутствии проблем, то smbd правильно загрузит файл настроек.

Не забудьте перезапустить Samba после изменения конфиг-файла.

sudo /etc/init.d/samba restart

Если будете расшаривать внешние устройства, нтфс диски и т.д., не забудьте добавить пользователя в группу plugdev.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments