Введення samba сервера в домен windows ad, мінніахметов Равіль юрісовіч

Для того, щоб ввести сервер Linux в домен AD, необхідно провести настроювання клієнта Kerberos, Samba і Winbind. Зробимо установку даних компонентів:
yum -y install krb5-user samba winbind ntp samba-winbind samba-winbind-clients pam_krb5

Виробляємо налаштування DNS
Необхідно налаштувати DNS сервер Linux машини таким чином, щоб основний DNS сервер був точно таким же як і на доменному контролері і в якості домену вказати назву домена. (Назва домену прописується маленькими буквами). За дані параметри в системі відповідає файл
/etc/resolv.conf
але в сучасних Linux машинах файл створюється автоматично і редагування його в ручну змінить параметри тільки до найближчої перезавантаження. Для додавання необхідних параметрів в даний файл необхідно змінити відповідні директиви у файлі для потрібного інтерфейсу в каталозі:
/ Etc / sysconfig / network-scripts / ifcfg- «назва мережевого інтерфейсу»
якщо використовується DHCP, то всі необхідні параметри будуть отримані з сервера. В результаті файл /etc/resolv.conf повинен мати приблизний вигляд:
search domain.com
nameserver 192.168.0.1
nameserver 192.168.0.2

Далі потрібно вказати доменне ім'я сервера локальної машини в файлі / etc / hosts:
# Імена цього комп'ютера
127.0.0.1 localhost
127.0.1.1 smbsrv.domain.com smbsrv

Перевіряємо доступність доменного контролера:
ping dc
ping dc.domain.com

Перезавантажуємо сервер для вступу змін.

Налаштовуємо синхронізацію часу
Якщо різниця в часі буде більше 5 хвилин з часом доменного контролера, сервер не зможе отримати лист від Kerberos. Для перевірки часу можна використовувати команду:
net time set domain.com
якщо ж в мережі присутній сервер точного часу:
ntpdate ntpservername

Для автоматичної синхронізації часу сервера з сервером часу в мережі необхідно додати в файл /etc/ntp.conf дректіву:
server ntpservername

Перезавантажуємо службу ntpd:
systemctl restart ntpd

[Realms]
DOMAIN.COM = kdc = dc
kdc = dc2
admin_server = dc
default_domain = DOMAIN.COM
>

[Domain_realm]
.domain.com = DOMAIN.COM
domain.com = DOMAIN.COM
[Login]
krb4_convert = false
krb4_get_tickets = false

Команда при успішному виконанні не видає ніяких повідомлень. Щоб перевірити чи отримано квиток від домену для Kerberos, необхідно виконати наступну команду:
klist

Поширені помилки kinit
kinit (v5): Clock skew too great while getting initial credentials
Це означає, що у вашого комп'ютера не синхронізується час з доменконтроллером (див. Вище).

kinit (v5): Preauthentication failed while getting initial credentials
Ви ввели невірний пароль.

kinit (v5): KDC reply did not match expectations while getting initial credentials
Найдивніша помилка. Переконайтеся, що ім'я realm в krb5.conf, а так же домен в команді kinit введені великими літерами:
DOMAIN.COM = # ...
kinit [email protected]

kinit (v5): Client not found in Kerberos database while getting initial credentials
Вказаного користувача не існує в домені.

Налаштування кількість відкритих файлів для роботи Windows
Стандартна настройка Linux дозволяє максимальну кількість откриттих файлів рівним 1024, хоча для роботи Windows потрібно 16384. Тому може вийти попередження:
«Rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)»
Без перезавантаження системи на один сеанс досить виконати команду:
ulimit -n 16384
Щоб кожного разу не вводити цю команду необхідно відредагувати файл /etc/security/limits.conf
# Додати в кінець файлу рядки:
* - nofile 16384
root - nofile 16384

Налаштування Samba сервера
Для настройки сервера необхідно внести коректування в файл /etc/samba/smb.conf
[Global]
# Слід пам'ятати що назва домену потрібно писати великими літерами
workgroup = DOMAIN
realm = DOMAIN.COM

dns proxy = no
socket options = TCP_NODELAY

# Змусимо сервер Samba не брати участь у виборах доменного контролера
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no

# Якщо на сервері будуть тільки файлові ресурси, службу друку краще відключити
load printers = no
show add printer wizard = no
printcap name = / dev / null
disable spoolss = yes

Для перевірки правильності написання конфігураційного файлу використовується команда:
testparm

Налаштування роботи Winbind
Для того, щоб користувачі домену могли мати розмежований доступ до папок і файлів samba сервера необхідно правильно налаштувати Winbind. Він дозволяє з проектувати всіх користувачів і групи AD в Linux систему, щеп їм ID із заданого діапазону. Таким чином можна призначати користувачів домену власниками папок і файлів на сервері і виконувати будь-які інші операції, зав'язані на користувачів і групи, наприклад, аутентифікацію для входу в систему.
Для настройки Winbind використовується все той же файл /etc/samba/smb.conf. Додайте в секцію [global] наступні рядки:
# Опції зіставлення доменних користувачів і віртуальних користувачів в системі через Winbind.
# Діапазони ідентифікаторів для віртуальних користувачів і груп.
idmap uid = 10000 - 40000
idmap gid = 10000 - 40000
# Ці опції не варто виключати.
winbind enum groups = yes
winbind enum users = yes
# Використовувати домен за замовчуванням для імен користувачів. Без цієї опції імена користувачів і груп
# Використовуватимуться з доменом, тобто замість username - DOMAIN \ username.
# Можливо саме це вам і потрібно, однак зазвичай простіше цей параметр включити.
winbind use default domain = yes
# Якщо ви хочете разрещіть використовувати командний рядок для користувачів домену, то
# Додайте наступний рядок, інакше як shell'а буде викликатися / bin / false
template shell = / bin / bash
# Для автоматичного оновлення квитка Kerberos модулем pam_winbind.so потрібно додати рядок
winbind refresh tickets = yes

Вводимо samba сервер в домен
Для цього треба ввести наступну команду із зазначенням користувача, який володіє правами додавання в домен
net ads join -U username

Для перевірки успішного входу в домен використовується команда:
net ads testjoin

Тепер перезапускаємо Winbind і Samba в наступному порядку:
systemctl stop winbind
systemctl restart smb
systemctl start winbind

додамо запуск даних служб в автоматичне завантаження при завантаженні системи:
systemctl enable smb
systemctl enable nmb
systemctl enable winbind

Щоб переконатися, що між samba сервером і доменним контролером встановилися довірчі відносини, необхідно виконати наступну команду:
wbinfo -t

Щоб переконатися, що samba сервер отримує список користувачів і список груп, необхідно виконати наступну команду:
wbinfo -u
wbinfo -g

Додавання Winbind як джерело користувачів і груп
Для того, щоб Linux система могла працювати з польщователямі і групами домену, необхідно використовувати Winbind як додаткове джерело інформації про користувачів і групи.
Для цього необхідно внести наступні директиви в файл /etc/nsswitch.conf:
додати в кінець діректтівам passwd і group «winbind»:
passwd: winbind
group: winbind
відредагувати директиву files або додати її якщо відсутня:
files: dns mdns4_minimal [NotFound = return] mdns4

Для перевірки отримання користувачів з АТ необхідно використовувати наступну команду:
getent passwd

для груп:
getent group

Надамо доступ до папки користувачам домену
Визначимо вільний дисковий простір
df -h

Отримуємо наступний висновок:
Файлова система Розмір Використано Дост Використано% Cмонтіровано в
/ Dev / mapper / cl_ito-server-root 50G 6,0G 45G 12% /
devtmpfs 1,9G 0 1,9G 0% / dev
tmpfs 1,9G 0 1,9G 0% / dev / shm
tmpfs 1,9G 8,5M 1,9G 1% / run
tmpfs 1,9G 0 1,9G 0% / sys / fs / cgroup
/ Dev / md126p1 1014M 145M 870M 15% / boot
/ Dev / mapper / cl_ito-server-home 411G 33M 411G 1% / home
tmpfs 379M 0 379M 0% / run / user / 0

тому в / home найбільше вільного місця, створимо папку «samba»
mkdir / home / samba

призначимо права для даної папки і призначимо доменну групу власником
chmod -R 775 / home / samba
chown -R user. »domain users» / home / samba

Зазначимо сервера samba на дану папку. Для цього в файл /etc/samba/smb.conf потрібно додати наступні рядки:
[Public]
comment = Samba share ITO-SERVER
path = / home / samba
valid users = @ »domain users»
writable = yes
force create mode = 775
directory mask = 775
guest ok = no

Налаштування безпеки
За замовчуванням система безпеки блокує всі з'єднання і тому поки нічого працювати не буде. Для цього необхідно внести відповідні коригування в firewall:
firewall-cmd -permanent -zone = public -add-service = samba
firewall-cmd -reload

Дозволимо доступ доменним користувачам до папки / home / sambaselinux
chcon -t samba_share_t / home / samba

Налаштування SAMBA файлового сервера на базі CentOS 7 завершена.

Схожі статті

Copyright © 2024