[Linux] Joindre une machine Debian 10 Buster sur un domaine Active Directory

 

Joindre une machine Debian 10 Buster sur un domaine Active Directory
Version de l’OS Debian 10.1
Article original Publié le : 10 novembre 2019

Mise a jour le :

 

Comme pour Centos 8, pas de réel changement par rapport a la précédente version

 

Quelques infos

Nom de domaine: izero.fr
Nom du serveur Active Directory: srv-ad.izero.fr
Nom de la machine client Debian 10: test-debian10
Version de Windows serveur : 2012 R2
Nom de l’utilisateur AD: bef
Nom du groupe AD: it

 

 

Installer les paquets nécessaires suivants:

$ sudo apt install krb5-user realmd adcli sssd sssd-tools samba-common samba-libs resolvconf samba-common-bin ntp packagekit

 

Configurer Kerberos avec les informations nom du serveur / nom de domaine, respecter la case

$ sudo vim /etc/krb5.conf
[libdefaults]
	default_realm = IZERO.FR

[realms]
        IZERO.FR = { 
		admin_server = srv-ad.izero.fr 
		kdc = srv-ad.izero.fr 
	}

[domain_realm]
	.srv-ad.izero.fr = SRV-AD.IZERO.FR

[logging]
	default = SYSLOG

 

Configurer le serveur NTP
Commenter les pools existants et ajouter le(s) serveur(s) AD

$ sudo vim /etc/ntp.conf
#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst
server srv-ad.izero.fr

 

Ajouter le DNS dans l’interface
$ sudo vim /etc/network/interfaces
dns-nameservers 192.168.3.100
Redémarrer le service réseau
$ sudo systemctl restart ifup@eth0 resolvconf

 

Éditer le fichier common-session et l’ajouter en fin de ligne
Cela permet de créer automatiquement le répertoire personnel de l’utilisateur lors de la première connexion
$ sudo vim /etc/pam.d/common-session
session optional        pam_mkhomedir.so skel=/etc/skel umask=077

 

Quelques ajustements a faire dans le fichier sssd.conf, comme ne pas ajouter le nom de domaine de l’utilisateur AD, il faut remplacer la valeur use_fully_qualified_names a False
le realmd_tags, fallback_homedir et le access_provider doivent également, être corrigés.

$ sudo vim /etc/sssd/sssd.conf

Le fichier sssd.conf devrait ressembler a ceci

Redémarrer le service.

$ sudo systemctl restart sssd

 

Joindre la machine au domaine, cela ne devrait renvoyer aucun message.

$ sudo realm join srv-ad.izero.fr

Pour vérifier que les utilisateurs sont bien reconnus, utiliser la commande id

$ id bef ou bef@izero.fr
uid=1340201104(bef@izero.fr) gid=1340200513(utilisateurs du domaine@izero.fr) groupes=1340200513(utilisateurs du domaine@izero.fr),1340201107(it@izero.fr)

 

Restreindre les autorisations de connexion en SSH au groupe IT (dont l’utilisateur fait parti)

$ sudo realm deny --all
$ sudo realm permit -g it

 

Ajouter le groupe IT au sudoers

$ sudo visudo
%it     ALL=(ALL:ALL) ALL

 

La connexion ssh fonctionne.

$ ssh bef@192.168.3.60
bef@192.168.3.60's password:
Warning: No xauth data; using fake authentication data for X11 forwarding.
Linux test-debian10 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Nov 10 16:09:49 2019 from 192.168.3.7
bef@test-debian10:~$ sudo -i
[sudo] Mot de passe de bef : 
root@test-debian10:~#

 

Un p’tit tour dans les logs

$ sudo tail -f /var/log/auth.log
Nov 10 16:31:03 test-debian10 sshd[6735]: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.3.7 user=bef
Nov 10 16:31:03 test-debian10 sshd[6735]: Accepted password for bef from 192.168.3.7 port 51204 ssh2
Nov 10 16:31:03 test-debian10 sshd[6735]: pam_unix(sshd:session): session opened for user bef by (uid=0)
Nov 10 16:31:03 test-debian10 sshd[6735]: pam_systemd(sshd:session): Failed to create session: No such file or directory

Nov 10 16:31:09 test-debian10 sudo: bef : problem with defaults entries ; TTY=pts/2 ; PWD=/home/bef ; USER=root ;
Nov 10 16:31:15 test-debian10 sudo: pam_sss(sudo:auth): authentication success; logname=bef uid=1340201104 euid=0 tty=/dev/pts/2 ruser=bef rhost= user=bef
Nov 10 16:31:15 test-debian10 sudo: bef : TTY=pts/2 ; PWD=/home/bef ; USER=root ; COMMAND=/bin/bash
Nov 10 16:31:15 test-debian10 sudo: pam_unix(sudo:session): session opened for user root by bef(uid=0)

 

La connexion est établie avec un utilisateur de l’AD et il obtient bien les droits sudo,
Il subsiste une erreur dans les logs qui se corrige par un redémarrage du service systemd-login

Erreur: pam_systemd(sshd:session): Failed to create session: No such file or directory

$ sudo systemctl restart systemd-logind

Refaire un check de auth.log

$ sudo tail -f /var/log/auth.log
Nov 10 16:40:54 test-debian10 sshd[7129]: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.3.7 user=bef
Nov 10 16:40:54 test-debian10 sshd[7129]: Accepted password for bef from 192.168.3.7 port 51272 ssh2
Nov 10 16:40:54 test-debian10 sshd[7129]: pam_unix(sshd:session): session opened for user bef by (uid=0)
Nov 10 16:40:54 test-debian10 systemd-logind[6926]: New session 20 of user bef.
Nov 10 16:40:54 test-debian10 systemd: pam_unix(systemd-user:session): session opened for user bef by (uid=0)

 

Quelques fichiers a verifier en plus du sssd.conf en cas d’erreur.

$ sudo vim /etc/nsswitch.conf

 

$ sudo vim /etc/pam.d/common-auth

 

$ sudo vim  /etc/pam.d/common-account

 

Quelques liens

https://wiki.debian.org/AuthenticatingLinuxWithActiveDirectorySssd

https://git.ipr.univ-rennes1.fr/cellinfo/ansible.sssd/commit/0430b9a016716bef6cd9d2aa334d262cb310497e

 

 

No votes yet.
Please wait...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.