Thank you for reading this post, don't forget to subscribe!
Выполните следующие шаги, чтобы интегрировать эти серверы с 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
[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
1 2 3 |
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]