Главная > Debian, FAQ, В помощь sysadmin'y > SAMBA авторизация пользователей и раздельный доступ к ресурсам

SAMBA авторизация пользователей и раздельный доступ к ресурсам

Для начала устанавливаем:
$ aptitude install samba smbfs
Samba использует пользователей которые уже есть в системе, (возможно есть и другие пути, об этом в следующей заметке) создаем наших пользователей:
$ useradd -c "Тest" -s /sbin/nologin ole
$ useradd -c "Тest1" -s /sbin/nologin ole1
$ useradd -c "Тest2" -s /sbin/nologin ole2

к команде существуют следующие параметры, мож кому надо:
-g «Названия группы» — группа, к которой он должен принадлежать
-d /home/»каталог» — домашний каталог пользователя
-s /sbin/nologin — устанавливаем ему оболочку /sbin/nologin
-c «Описания» — качестве его полного имени Mr Test,
имя- ole
Посмотрим что у нас получилось:

$ cat /etc/passwd | grep ole
ole:x:5002:5002:Test:/home/ole:/sbin/nologin
ole1:x:5003:5003:Test1:/home/ole1:/sbin/nologin
ole2:x:5004:5004:Test3:/home/ole2:/sbin/nologin

Теперь у нас есть пользователи в системе, надо внести его в базу данных SMB и назначить пароль для доступа к расшаренным ресурсам:
$ smbpasswd -a ole
$ smbpasswd -a ole1
$ smbpasswd -a ole2

Далее правим файл конфигурации Samba (/etc/samba/smb.conf), секция [Global] содержит общие настройки сервера:
$ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
$ nano /etc/samba/smb.conf

[global]

# Название вашей рабочей группы или домена. Именно оно будет высвечивается в «Сетевом окружении».
workgroup = WORKGROUP
# server string is the equivalent of the NT Description field
# Комментарий, появляющийся рядом с именем машины в «Сетевом окружении» Windows.
server string = %h server (Samba, Ubuntu)
# Ограничивает обслуживаемые сервером сетевые интерфейсы (eth0) / и по адресам
interfaces = 127.0.0.0/8 eth0
# Параметры логирования — log.<имя_машины_клиента>
log file = /var/log/samba/log.%m
# Размер лог-файла в Кб
max log size = 1000
# еще можно добавить строку «debug level = 3″, она используется при
# отладке сервера, выводя в журнал более детальную информацию или уровень 5.
#debug level = 3
# для более детальной информацией можно поиграться с уровнями (1,2,3, и тд)
log leval=1

####### Authentication #######
# share — при каждом доступе будет запрашиваться имя пользовательского ресурса.
# user — для аутентификации будет использоваться имя пользователя и пароль,
# которые используются для входа в сеть виндовс (Windows). Это значение по умолчанию.
# server — для проверки пароля будет использоваться сервер NT (AD)
security = user
# Поддержка шифрованных паролей
encrypt passwords = true
# запрещает становиться мастером домена
domain master = no
# отключает WINS
wins support = no
# Опции сокета. Если не знаете, что это такое, лучше оставить как есть или почитать ман.
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
# вкл/откл гостевую запись
guest ok = no
# запрешает root
invalid users = root
# Эти опции избавляют от глюков со шрифтами/кодировками. (так же можно 866 (Dos))
unix charset = utf8
dos charset = cp1251
display charset = cp1251

Пример:
Cоздаем папку для чтения/записи (rw) определенным пользывателем, например для юзвера ole2
$ sudo mkdir /home/DATA_rw
$ sudo chmod 777 /home/DATA_rw

В конфиге smb.conf

[DATA_rw]
path = /home/DATA_rw
create mask = 0664
directory mask = 0777
valid users = «ole»,»ole1″,»ole2″
write list = «ole2″,

где
- valid users = «» — юзеры которым разрешен доступ к ресурсу (в данном примере дали всем юзверям)
- write list = «» — юзверы, которые могут писать в данную папку (в данном примере — только ole2)
Внимания параметр write, подразумевает под собой еще и read (чтения), т.е для чтения папка будет открыта для всеx указанных в параметре valid users

$ sudo testparm
$ sudo /etc/init.d/samba restart

Если поставить параметр browseable = no:
[DATA_rw]
browseable = no
.. . . . ......

, то папка ни будет отображаться в проводнике, когда заходишь на сервер, но по полному адрессу, если его знаешь ;) , заходишь без проблем (\\host\data_rw)
Для мониторинга сетевых подключений по SAMBA можно использовать команду smbstatus. Для удобства запускать ее в отдельном терминале:
$ watch smbstatus
Эта команда автоматически обновляет информацию о подключениях и выводит ее на экран.
Читаем еще:

Необходимо войти на сайт, чтобы написать комментарий.
#

//