===== Samba =====
Реализация протокола SMB под линуксом.
==== Установка и настройка ====
apt-get install samba -y
Создание папок, раздача прав
# Сделать системную группу, пользователя в ней и задать ему пароль
groupadd writers
useradd -G writers writer1
passwd writer1
# Сделать папку share2 и сделать её владельцем writer1
mkdir /mnt/data/share2
chown writer1:user /mnt/data/share2
chmod 770 /mnt/data/share2
[global]
# Имя домена или рабочей группы
workgroup = WORKGROUP
# Отображаемое имя сервера
server string = %n Server (Samba, Ubuntu)
[Share 1]
path = /mnt/data/share
comment = Файлопомойка
inherit acls = yes
inherit owner = yes # полезно для размещения перемещаемых профилей
# inherit permissions = yes # наследовать разрешения файловой системы
writable = yes
valid users = user # если указаны параметры read и write list - не нужен
read list = user
write list = user
# Проверка конфигурации Samba:
testparm
# Добавить пользователя системы в Самбу, задать ему пароль:
smbpasswd -a user
# Перезапуск службы для применения настроек:
systemctl restart smbd
==== Ввод в домен ====
# Установка необходимых пакетов
apt-get install winbind krb5-user ntp
Область Kerberos - DOMAIN.LOCAL\\
Серверы Kerberos - DC.DOMAIN.LOCAL
apt-get install libpam-krb5 libpam-winbind libnss-winbind
# Поменять имя сервера на нужное
echo servername > /etc/hostname
# Настроить ntp на синхронизацию с DC
nano /etc/ntp.conf
systemctl restart ntp
[libdefaults]
default_realm = DOMAIN.LOCAL
[realms]
DOMAIN.LOCAL = {
kdc = dc.domain.local
admin_server = dc.domain.local
}
[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local = DOMAIN.LOCAL
Запрос билета Kerberos:
kinit domain-admin@DOMAIN.LOCAL # указать любого доменного пользователя
klist # проверить список выданных билетов
[global]
workgroup = DOMAIN # короткое имя домена
realm = DOMAIN.LOCAL
security = ADS
auth methods = winbind
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind separator = /
idmap config * : range = 10000-20000
# server role
# passdb backend
# obey pam restrictions
# unix password sync
# passwd program
# passwd chat
# pam password change
# map to guest
# usershare allow guest
# и т. д., можно закомментировать принтеры и проч.
# После сохранения конфигурации выполнить
testparm
# Ввести машину в домен
net ads join -U domain-admin@DOMAIN.LOCAL
# Отредактировать конфиг nsswitch (источники учётных записей)
nano /etc/nsswitch.conf
passwd: files winbind
group: files winbind
shadow: files winbind
# Перезапустить сервер
reboot
# Проверка связи с доменом
wbinfo -u # список пользователей домена
wbinfo -g # список групп домена
id domain-admin # получить id пользователя
getent passwd # выводит /etc/nsswitch.conf, там перечислены пользователи и ID
getent group # информация по группам
Раздать права на папки для доменных пользователей
chown domain-admin /mnt/data/share1
# или, как вариант,
chown domain-admin:"пользователи домена" /mnt/data/share1
chmod 750 /mnt/data/share1 # дать полные права админу, юзерам - чтение
[share1]
path = /mnt/data/share1
comment = Файлопомойка
inherit acls = yes
writable = yes
==== Материалы ====
[[http://smb-conf.ru/]]\\
[[https://www.youtube.com/watch?v=OPw072u8QV8|Файловый сервер Samba. Часть четвертая: простейшая конфигурация файлового сервера]]\\
[[https://www.youtube.com/watch?v=XhlTUghUULI|Файловый сервер Samba. Часть пятая: дополнительные опции файлового сервера]]\\
[[https://www.youtube.com/watch?v=ddpVk6Y9LI8|Файловый сервер Samba. Часть шестая: подготовка к работе в домене Windows]]\\
[[https://www.youtube.com/watch?v=YCZZOhJZ-Gk|Файловый сервер Samba. Часть седьмая: ввод в домен]]\\
[[https://www.youtube.com/watch?v=Q983Tbn2H_I|Файловый сервер Samba. Часть восьмая: chown для пользователей домена]]