Установка[1]:
# pkg install net/samba410
Конфигурация(создать самому):
/usr/local/etc/smb4.conf
Запуск:
/usr/local/etc/rc.d/samba_server onestart
Примеры smb4.conf
Публичный каталог доступный на запись[2]
[global] unix charset = UTF-8 dos charset = cp866 workgroup = CORPX security = user # hosts allow = 192.168.100+X. 192.168.200+X. map to guest = Bad User [share] path = /disk2 guest ok = yes read only = no force user = games # browseable = no
Публичный каталог доступный на чтение
[global] security = user map to guest = Bad User [share] force user = asterisk path = /var/spool/asterisk/monitor/ guest ok = Yes [distrs] force user = games path = /var/distrs guest ok = Yes
Идентификация доступа к файловому серверу на основе копии базы данных учетных записей
Добавляем пользователей user1 и user2 на server (Управление учетными записями в Linux, Управление учетными записями в FreeBSD)
!!! smbd должен быть запущен!!!
server# smbpasswd -a user1 server# smbpasswd -a user2 gate# smbpasswd -a student # pdbedit -w -L # smbpasswd -x user1 # cat smb.conf
[global] unix charset = UTF-8 dos charset = cp866 workgroup = CORPX security = user [homes] read only = no [share] path = /var/samba # valid users = student studentN games # valid users = @wheel games # valid users = @sudo games force user = games read only = No
server# mkdir /var/samba server# chown -R games /var/samba
Идентификация доступа к файловому серверу на основе регистрации в Active Directory/DOMAIN/Kerberos REALM
Режим ADS без использования WINBIND
!!! В FreeBSD samba должна быть скомпилирована с поддержкой ADS !!!
Kerberos REALM
FreeBSD (Heimdal)
server# kadmin -l
kadmin> add -r cifs/gate.corpX.un kadmin> add -r cifs/gate.CORPX.UN kadmin> ext -k gatecifs.keytab cifs/gate.corpX.un kadmin> ext -k gatecifs.keytab cifs/gate.CORPX.UN
Debian/Ubuntu MIT
server# kadmin.local
kadmin.local: addprinc -randkey cifs/gate.corpX.un kadmin.local: addprinc -e rc4-hmac:normal -randkey cifs/gate.CORPX.UN kadmin.local: ktadd -k gatecifs.keytab cifs/gate.corpX.un kadmin.local: ktadd -k gatecifs.keytab cifs/gate.CORPX.UN
FreeBSD/Debian/Ubuntu
server# scp gatecifs.keytab gate:
Active Directory
Добавляем пользователя в AD
Login: gatecifs Password: Pa$$w0rd
Пароль не меняется и не устаревает
Создаем ключ сервиса cifs связывая его с фиктивным пользователем AD
Устанавливаем Microsoft Windows Support Tools
Название сервиса HTTP обязательно заглавными буквами
C:\>ktpass -princ cifs/gate.corpX.un@CORPX.UN -mapuser gatecifs -pass 'Pa$$w0rd' -out gatecifs.keytab
Копируем ключ сервиса cifs на сервер samba
C:\>pscp gatecifs.keytab gate:
Копируем ключи в системный keytab
FreeBSD (Heimdal)
gate# ktutil copy /root/gatecifs.keytab /etc/krb5.keytab gate# ktutil list
Debian/Ubuntu (MIT)
root@gate:~# ktutil
ktutil: rkt /root/gatecifs.keytab ktutil: list ktutil: wkt /etc/krb5.keytab ktutil: quit root@gate:~# klist -k /etc/krb5.keytab
Настройка samba сервера в режиме ADS без использования WINBIND
ubuntu# cat smb.conf freebsd# cat smb4.conf
[global] ... security = ADS realm = CORPX.UN kerberos method = system keytab ... [share] ... path = /var/samba valid users = @group1 games ...
Режим ADS c WINBIND
Авторизация в режиме ADS (Сервис WINBIND)
Примечание: достаточно зарегистрировать SAMBA сервер в домене, принципал cifs не нужен
Режим DOMAIN c WINBIND
Авторизация в режиме DOMAIN (Сервис WINBIND)
Настройка samba сервера в режиме DOMAIN/ADS c WINBIND
gate# cat smb.conf
[global] ... [homes] read only = no [share] path = /var/samba ; valid users = CORPX\user1, CORPX\Administrator, CORPX\root ; valid users = "@CORPX\domain admins" games ; valid users = "@CORPX\domain users" games valid users = @group1 games read only = no force user = games
Автоматическое создание домашних каталогов
# cat /etc/pam.d/samba
... session required pam_mkhomedir.so
gate# cat smb.conf
[global] ... obey pam restrictions = yes
Отладка
# cat smb.conf
[global] ... log level = 2 log file = /var/log/samba.log.%m max log size = 50 debug timestamp = yes ...
Мониторинг активности пользователей
-
Samba: Logging User Activity !!! можно настроить глобально или, на конкретном ресурсе !!!
# cat /etc/samba/smb.conf
... vfs objects = full_audit full_audit:prefix = %U|%u|%I|%m|%S full_audit:success = unlink open full_audit:failure = none full_audit:priority = NOTICE ...
# service smbd restart # tail -f /var/log/syslog
Сокрытие названия/версии сервиса
# cat smb.conf
[global] ... server string = MS File Server ...
Довольны?
[Оценок: 0 средняя: 0]