Archives par mot-clé : Linux dans un active directory

Intégration d’un poste Linux dans un domaine

Objectif :

  • Permettre de se connecter sur un poste Linux grace à un couple Login/Mdp existant dans un AD.

Prérequis:

  • Un contrôleur de domaine fonctionnel (Windows Server 20XX ou Samba4)
  • Le serveur DNS des client Linux pointant sur le serveur AD.

Configuration du poste :

apt-get install samba winbind libpam-winbind krb5-user libnss-winbind
/etc/init.d/smbd stop
/etc/init.d/nmbd stop
/etc/init.d/winbind stop
mv /etc/krb5.conf /etc/krb5.conf.old
cat > /etc/krb5.conf << EOF
[libdefaults]
    default_realm = DOM.JBSKY.FR
    dns_lookup_realm = false
    dns_lookup_kdc = true
EOF
mv /etc/samba/smb.conf /etc/samba/smb.conf.old
cat > /etc/samba/smb.conf << EOF
[global]
       security = ADS
       workgroup = DOM
       realm = DOM.JBSKY.FR

       log file = /var/log/samba/%m.log
       log level = 1

       # Default ID mapping configuration for local BUILTIN accounts
       # and groups on a domain member. The default (*) domain:
       # - must not overlap with any domain ID mapping configuration!
       # - must use an read-write-enabled back end, such as tdb.
       idmap config * : backend = tdb
       idmap config * : range = 3000-7999
       
       winbind use default domain = yes
       winbind enum users = yes
       winbind enum groups = yes
       template shell = /bin/bash
EOF
cp /etc/nsswitch.conf /etc/nsswitch.conf.old
sed -i 's/^passwd:.*$/passwd:         compat winbind/g' /etc/nsswitch.conf
sed -i 's/^group:.*$/group:          compat winbind/g' /etc/nsswitch.conf
sed -i 's/^shadow:.*$/shadow:         compat winbind/g' /etc/nsswitch.conf

systemctl enable winbind
systemctl enable smbd
systemctl enable nmbd

/etc/init.d/smbd start
/etc/init.d/nmbd start
/etc/init.d/winbind start

net ads join -U Administrator

Si tout va bien :

#Using short domain name -- DOM
#Joined 'WKS' to dns domain 'dom.jbsky.fr' <= OK

Ne pas tenir compte de l’erreur, évitable si l’on fixe l’adresse IP et le FQDN de la machine.

No DNS domain configured for WKS. Unable to perform DNS Update.
DNS update failed: NT_STATUS_INVALID_PARAMETER

Vérification

  • Ping du dc:
wbinfo --ping-dc
checking the NETLOGON for domain[DOM] dc connection to "dc1.dom.jbsky.fr" succeeded

  • Lister les utilisateurs
wbinfo -u
  • Lister les groupes
wbinfo -g

  • Tester si l’utilisateur se connecte bien en kerberos
kinit user
klist #pour voir les tickets

  • Pour voir la liste des utilisateurs
getent passwd
#julien:*:3000:3004:Julien:/home/DOM/julien:/bin/bash

  • Pour voir la liste des groupes :
getent group
#utilisateurs du domaine:x:3004:

  • Création des répertoires
mkdir /home/DOM
setfacl -m g:"utilisateurs du domaine":rwx -R /home/DOM
setfacl -m g:"DOM\utilisateurs du domaine":rwx -R /home/DOM

Sinon les utilisateurs ne pourront pas créer leur répertoires dès la premier connexion!

Pour que l’utilisateur du domaine récupère les droits de son anciens home/$USER

chown 3000:3004 /home/user/ -R
# possibilité de faire un lien
ln -s /home/julien/ /home/DOM/julien

adduser julien sudo

Plus qu'à tester le login d'un utilisateur sur un poste Linux dans un domaine