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:
1 |
$ 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
1 |
$ sudo vim /etc/krb5.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[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
1 |
$ sudo vim /etc/ntp.conf |
1 2 3 4 5 |
#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 |
1 |
$ sudo vim /etc/network/interfaces |
1 |
dns-nameservers 192.168.3.100 |
1 |
$ sudo systemctl restart ifup@eth0 resolvconf |
1 |
$ sudo vim /etc/pam.d/common-session |
1 |
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.
1 |
$ sudo vim /etc/sssd/sssd.conf |
Le fichier sssd.conf devrait ressembler a ceci
Redémarrer le service.
1 |
$ sudo systemctl restart sssd |
Joindre la machine au domaine, cela ne devrait renvoyer aucun message.
1 |
$ sudo realm join srv-ad.izero.fr |
Pour vérifier que les utilisateurs sont bien reconnus, utiliser la commande id
1 |
$ id bef ou bef@izero.fr |
1 |
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)
1 |
$ sudo realm deny --all |
1 |
$ sudo realm permit -g it |
Ajouter le groupe IT au sudoers
1 |
$ sudo visudo |
1 |
%it ALL=(ALL:ALL) ALL |
La connexion ssh fonctionne.
1 |
$ ssh bef@192.168.3.60 |
1 2 3 4 5 6 7 8 9 10 11 |
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 |
1 |
bef@test-debian10:~$ sudo -i |
1 2 |
[sudo] Mot de passe de bef : root@test-debian10:~# |
Un p’tit tour dans les logs
1 |
$ sudo tail -f /var/log/auth.log |
1 2 3 4 5 6 7 8 9 |
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]: <strong>pam_systemd(sshd:session): Failed to create session: No such file or directory</strong> 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
1 |
$ sudo systemctl restart systemd-logind |
Refaire un check de auth.log
1 |
$ sudo tail -f /var/log/auth.log |
1 2 3 4 5 |
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 vérifier en plus du sssd.conf en cas d’erreur.
1 |
$ sudo vim /etc/nsswitch.conf |
1 |
$ sudo vim /etc/pam.d/common-auth |
1 |
$ 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