Инструменты пользователя

Инструменты сайта


service:samba

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
Простейшая конфигурация /etc/samba/smb.conf
[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
Конфигурация /etc/krb5.conf
[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 # проверить список выданных билетов
Правка /etc/samba/smb.conf для доменной авторизации
[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 # дать полные права админу, юзерам - чтение
/etc/samba/smb.conf дать полные права всем на уровне сети
[share1]
path = /mnt/data/share1
comment = Файлопомойка
inherit acls = yes
writable = yes

Материалы

service/samba.txt · Последнее изменение: 30.07.2024 19:21 — 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki