: | : |
‹ | › | |||||
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
2017-11-14 09:49:37 7745 2
Настройка файлового сервера Samba с авторизацией в домене
Для настройки файлового сервер Samba будем использовать linux дистрибутив Debian8
Контроллер домена имеет адрес 172.20.1.230 и fqdn dc-test.test.un, домен - test.un
Настройка сети
Установим статические настройки сети для сервера
Файл /etc/network/interfaces
# The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 172.20.1.232 netmask 255.255.255.0 gateway 172.20.1.1
Файл /etc/resolv.conf
search test.un nameserver 172.20.1.230
Установим необходимые пакеты и зависимости:
sudo apt-get update
sudo apt-get install ntp krb5-user samba cifs-utils \
smbclient winbind libnss-winbind libpam-winbind
При установке krb5-user будет предложена настройка аутентификации kerberos, область совпадает с именем домена в верхнем регистре

Далее будет предложено ввести имя KDC-сервера

Далее имя управлеющего сервера области Kerberos

Настройка Kerberos
Вносим изменения в файл настройки Kerberos /etc/krb5.conf, в секции [domain_realm] добавляем данные о своей области
[domain_realm] .test.un = TEST.UN test.un = TEST.UN ......
Проверяем возможность получения TGT от сервера KDC
sudo kinit Administrator
Password for Administrator@TEST.UN:
Вводим пароль
Проверяем полученный TGT
sudo klist
Valid starting Expires Service principal 19.09.2017 13:18:50 19.09.2017 23:18:50 krbtgt/TEST.UN@TEST.UN renew until 20.09.2017 13:18:48
Все полученно корректно
Настройка nsswitch
Редактируем файл /etc/nsswitch.conf для того, что бы мы могли использовать доменные учетные записи
Было: passwd: compat group: compat shadow: compat
Стало: passwd: compat winbind group: compat winbind shadow: compat winbind
Конфигурирование Samba
Делаем backup конфигурационного файла Samba
cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
После чего можно править /etc/samba/smb.conf, приводим его к виду:
[global] # Указываем домен без конечного суффикса .un workgroup = TEST # Указываем ads режим безопасности (сервер будет вести себя как член домена) security = ads # Указываем область домена (полностью) realm = TEST.UN # Указываем что сервер будет только членом домена (не контроллером) domain master = no local master = no preferred master = no # Отключение CUPS. printcap name = /etc/printcap load printers = no # Указываем диапозон преобразования UID доменных пользователей idmap config * : range = 10000-99999 idmap config * : backend = tdb # Включаем отображение доменных пользователей winbind enum users = yes winbind enum groups = yes # Это разрешает доменным пользователям логиниться на сервере #без указания домена, как локальным пользователям winbind use default domain = yes # Наследование групп winbind nested groups = yes winbind refresh tickets = yes # Возможность логиниться, если сервер оффлайн winbind offline logon = true # Шаблон пользовательской директории, #где %D - имя домена, %U - имя пользователя template homedir = /home/%D/%U # Указание оболочки для доменного пользователя #(/bin/false - пользователь не сможет залогиниться на сервере) template shell = /bin/false client use spnego = yes client ntlmv2 auth = yes encrypt passwords = yes restrict anonymous = 2 log file = /var/log/samba/samba.log log level = 2 winbind separator = ^
Сохраняем изменения и перезапускаем демоны:
systemctl restart smbd
systemctl restart nmbd
systemctl restart winbind
И не забудем поставить демоны в автозагрузку:
systemctl enable smbd
systemctl enable nmbd
systemctl enable winbind
Добавление сервера в домен
Перед добавление не забываем проверить что у нас получен TGT и синхрогизированно время между сервером и контролерром домена
Выполняем команду и после вводим пароль:
net ads join -U Administrator
Enter Administrator"s password: Using short domain name -- TEST Joined "DEBIAN8" to dns domain "test.un" No DNS domain configured for debian8. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER
Все сервер добавлен в домен
Снова перезапускаем демоны:
systemctl restart smbd
systemctl restart nmbd
systemctl restart winbind
Выполняем команду:
pam-auth-update
Провереям отображение пользователей и групп
wbinfo -u
administrator guest krbtgt test1 test2
wbinfo -g
winrmremotewmiusers__ domain computers domain controllers schema admins enterprise admins cert publishers domain admins domain users domain guests group policy creator owners ras and ias servers allowed rodc password replication group denied rodc password replication group read-only domain controllers enterprise read-only domain controllers cloneable domain controllers protected users dnsadmins dnsupdateproxy samba
Создание общих папок на файловом сервере и огранизация доступа к ним
Созданим директории, которые будем делать общими:
mkdir /share
Теперь идем в файл /etc/samba/smb.conf и добавляем настройки для общих папок
[share] # коментарий к директории comment = Shared samba storage # Путь к директории path = /share # Не только для чтения read only = no # Параметр устанавливает, будет ли общий ресурс отображаться в списке доступных общих ресурсов в сетевом окружении и в списке просмотра browseable = yes # ресурс будет доступен для пользователей домена состоящих в группе samba #и для пользователя user1, user2 valid users = "@TEST^samba", "TEST^user1", "TEST^user2" # При создании нового файла, владельцем будет назначена группа samba force group = samba # маска доступа для создания нового файла force create mode = 0660 # маска доступа для создания новой директории force directory mode = 0770 # гостевой доступ запрещен guest ok = no # Пользователь user2 имеет доступ к сетевому ресурсу только для чтения read list = "TEST^user2" # write list = "@TEST^samba" - пользователи группы имеют право писать #в директорию (действие по-умолчанию, поэтому можно и не указывать) # Домашние директории пользователей домена [home] # Путь к диретории %D - имя домена, %U - имя пользователя path = /home/%D/%U read only = no browseable = yes # Любой текущий пользователь домена valid users = TEST^%U force create mode = 0644 force directory mode = 0744
Создание домашней директории пользователя при входе доменного пользователя на сервер
Для автоматического создания домашней директории для доменного пользователя необходими подключить модуль pam_mkhomedir.so
Для этого вносим изменения в файл конфигурации PAM /etc/pam.d/common-account, добавляем строку
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
Теперь при первом входе доменного пользователя на сервер будет создана домашняя директория по пути указанном в директиве "template homedir" в файле /etc/samba/smb.conf (если для пользователей домена задана оболочка)
Введите ответ:
+
=
Alexeit
2022-12-08 18:24:08
Там нужно перед добавлением в домен прописать в /etc/hosts соответствие ip-адреса с FQDN и с именем без доменного суффикса
Alex
2022-05-18 18:42:35
DNS update failed: NT_STATUS_INVALID_PARAMETER не смущает? ))