В этом руководстве мы обсудим, как интегрировать Linux-серверы (Centos/RHEL) с Windows Active Directory в целях аутентификации.
Выполните следующие шаги, чтобы интегрировать эти серверы с AD с помощью samba, winbind и Kerberos.
Шаг 1: Установите пакеты samba-winbind и kerberos.
# yum install samba-winbind samba-winbind-clients samba krb5-libs krb5-workstation pam_krb5
Шаг 2: Синхронизация времени.
AD очень требователен к соответствию времени при аутентификации.
Поэтому время сервера linux и сервера AD должно быть синхронизировано с сервером ntp.
Используйте приведенную ниже команду для синхронизации времени сервера Linux с сервером ntp.
# ntpdate [ntp-server-ip-address/dns-name]
Чтобы сделать вышеуказанную конфигурацию постоянной, отредактируйте файл “/etc/ntp.conf” и просто замените то, что там есть, на один или несколько NTP-серверов в вашем домене, например:
# vi /etc/ntp.conf server [ntp-server-ip-address/dns-name]
Запустите сервис:
# /etc/init.d/ntpd start # chkconfig ntpd on
Шаг 3: Отредактируйте файл /etc/hosts.
# vi /etc/hosts [ip-address] adserver.yourdomain adserver
Шаг 4: Отредактируйте файл /etc/krb5.conf.
# vi /etc/krb5.conf
[domain_realm]
yourdomain = YOURDOMAIN
[libdefaults]
ticket_lifetime = 24000
default_realm = YOURDOMAIN
dns_lookup_realm = true
dns_lookup_kdc = false
cache_type = 1
forwardable = true
proxiable = true
default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc
permitted_enctypes = des3-hmac-sha1 des-cbc-crc
allow_weak_crypto = no
[realms]
YOURDOMAIN = {
kdc = [ip address of AD server:Port]
admin_server = [ip address of AD server:Port]
default_domain = yourdomain
}
[appdefaults]
pam = {
debug = true
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
[logging]
default = FILE:/var/krb5/kdc.log
kdc = FILE:/var/krb5/kdc.log
admin_server = FILE:/var/log/kadmind.log
Шаг 5: Теперь протестируйте аутентификацию Kerberos.
# kinit [user-name]
Если он запросит пароль, введите пароль пользователя ad, если все в порядке, то мы получим приглашение, в противном случае перепроверьте файл krb5.conf.
Шаг 6: Теперь настройте Samba и Winbind.
Отредактируйте файл /etc/samba/smb.conf.
# vi /etc/samba/smb.conf
[global]
workgroup = [Workgroup-Name]
netbios name = site2 ## replace the site2 with hostname
realm =
security = ADS
template shell = /bin/bash
idmap backend = tdb
idmap uid = 1-100000000
idmap gid = 1-100000000
winbind use default domain = Yes
winbind nested groups = Yes
winbind enum users = Yes
winbind enum groups = Yes
template shell = /bin/bash
template homedir = /home/%D/%U
winbind separator = /
winbind nss info = sfu
winbind offline logon = true
hosts allow = 127.0.0.1 0.0.0.0/0
obey pam restrictions = yes
socket options = TCP_NODELAY
max log size = 150
passdb backend = tdbsam
printing = cups
load printers = yes
cups options = raw
printcap name = cups
disable spoolss = Yes
show add printer wizard = No
interfaces = eth0 lo
bind interfaces only = yes
winbind refresh tickets = true
log file = /var/log/samba/log.%m
max log size = 50
log level = 3
encrypt passwords = yes
#map untrusted to domain = yes
#auth methods = winbind guest sam
map untrusted to domain = Yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
public = yes
guest ok = yes
writable = no
printable = yes
Шаг 7: Настройте файл /etc/nsswitch.conf для обработки аутентификации.
# vi /etc/nsswitch.conf passwd: compat winbind shadow: winbind group: compat winbind
Шаг 8: Теперь перезапустите службы winbind и Samba.
# /etc/init.d/smb restart # /etc/init.d/winbind restart
Теперь присоединитесь к домену:
# net ads join -U [User Name]
Если вышеуказанная команда сообщает “Join is OK”, проверьте winbind:
Команда для составления списка всех пользователей AD:
# wbinfo -u
Шаг 9: Теперь проведите тестирование и попробуйте войти на сервер linux через учетные данные пользователя AD.
# ssh [username]@[ipaddress]
см. также:
- 😺 Как установить и настроить Kerberos в CentOS / RHEL 7
- Как установить Kerberos KDC Server и клиент на Ubuntu 18.04
- Astra Linux. Настройка защищенной печати Cups. Аутентификация Kerberos
- Apache. Аутентификация Kerberos




