Dans ce didacticiel, nous expliquerons comment intégrer les serveurs Linux (Centos/RHEL) à Windows Active Directory à des fins d'authentification. Dans mon cas, j'ai des serveurs Centos/RHEL 6. Suivez les étapes ci-dessous pour intégrer ces serveurs à AD en utilisant samba, winbind et Kerberos.
Étape 1 :Installez les packages samba-winbind et kerberos.
# yum install samba-winbind samba-winbind-clients samba krb5-libs krb5-workstation pam_krb5
Étape 2 :Synchronisation horaire.
AD est très pointilleux sur le temps correspondant lors de l'authentification. Ainsi, l'heure du serveur linux et du serveur AD doit être synchronisée avec le serveur ntp. Utilisez la commande ci-dessous pour synchroniser l'heure du serveur Linux avec le serveur ntp.
# ntpdate [ntp-server-ip-address/dns-name]
Pour rendre la configuration ci-dessus permanente, modifiez le fichier "/etc/ntp.conf" et remplacez simplement ce qui s'y trouve par un ou plusieurs serveurs NTP sur votre domaine, comme :
# vi /etc/ntp.conf server [ntp-server-ip-address/dns-name]
Démarrer le service :
# /etc/init.d/ntpd start # chkconfig ntpd on
Étape 3 :Modifiez le fichier /etc/hosts.
# vi /etc/hosts [ip-address] adserver.yourdomain adserver
Étape 4 :Éditez /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
Étape 5 :Testez maintenant l'authentification Kerberos.
# kinit [user-name]
S'il vous demande le mot de passe, entrez votre mot de passe utilisateur et si tout va bien, nous recevrons l'invite, sinon revérifiez le fichier krb5.conf.
Étape 6 :Configurez maintenant Samba et Winbind.
Modifier /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
Étape 7 :Configurez /etc/nsswitch.conf fichier pour gérer l'authentification.
# vi /etc/nsswitch.conf passwd: compat winbind shadow: winbind group: compat winbind
Étape 8 :Redémarrez maintenant les services winbind et Samba.
# /etc/init.d/smb restart # /etc/init.d/winbind restart
Rejoignez maintenant un domaine :
# net ads join -U [User Name]
Si la commande ci-dessus indique "Join is OK", alors testez winbind :
Commande pour lister tous les utilisateurs AD :
# wbinfo -u
Étape 9 :Effectuez maintenant les tests et essayez de vous connecter au serveur Linux via les informations d'identification de l'utilisateur AD.
# ssh [username]@[ipaddress or hostname of linux server]