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]