|
Q23.
|
Quel est le nom du paquet relatif au mécanisme Name Service Switch permettant d'accéder aux ressources de l'annuaire LDAP ?
Rechercher dans les bases du gestionnaire de paquets un paquet dont le nom débute par la chaîne libnss.
|
|
La liste ci-dessous permet d'identifier le paquet libnss-ldapd.
apt search --names-only ^libnss-
apt search --names-only ^libnss-ldap
En train de trier... Fait
Recherche en texte intégral... Fait
libnss-ldapd/testing 0.9.12-4 amd64
NSS module for using LDAP as a naming service |
|
Q24.
|
Quels sont les paquets supplémentaires qui sont ajoutés lors de l'installation des bibliothèques LDAP pour le mécanisme Name Service Switch ?
Utiliser les informations fournies par le gestionnaire de paquets pour chaque ajout.
|
|
Le lancement de l'installation du paquet libnss-ldapd donne la liste suivante.
sudo apt install libnss-ldapd
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés :
libpam-ldapd nscd nslcd nslcd-utils
Paquets suggérés :
kstart
Les NOUVEAUX paquets suivants seront installés :
libnss-ldapd libpam-ldapd nscd nslcd nslcd-utils
0 mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 390 ko dans les archives.
Après cette opération, 971 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n]
Plusieurs paquets supplémentaires apparaissent :
-
libpam-ldapd fournit les fonctions PAM nécessaires à l'authentification, aux autorisations et à la gestion de session via un annuaire LDAP.
-
nscd (Name Service Cache Daemon) est un démon qui gère la recherche des mots de passe, des groupes et hôtes des programmes en cours d’exécution, et met en cache le résultat pour une prochaine recherche.
-
nslcd fournit un autre démon pour la collecte des informations sur les comptes utilisateurs depuis un serveur LDAP.
-
nslcd-utils fournit des outils pour l'interrogation et la mise à jour des entrées d'annuaire LDAP.
![[Avertissement]](/images/warning.png) |
Avertissement |
|
Pour les besoins des travaux pratiques ou de la mise au point de l'authentification via LDAP, il est utile de relancer les services de cache à chaque modification des conditions d'accès à l'annuaire.
sudo systemctl restart nslcd
sudo systemctl restart nscd |
|
|
Q25.
|
Quel est le rôle de l'interface entre les fonctions PAM (Pluggable Authentication Modules) et l'annuaire LDAP ?
|
|
Par définition, PAM est un mécanisme qui permet d'intégrer différents modes d'authentification en les rendant transparents vis à vis de l'utilisateur et des logiciels qui accèdent aux ressources du système. Dans le contexte de ces travaux pratiques, il s'agit de permettre à l'utilisateur de se connecter, d'accéder au système de fichiers, de changer son mot de passe, etc sans avoir à lancer des commandes spécifiques.
|
|
Q26.
|
Quelles sont les principales étapes de la configuration des paquets de bibliothèques NSS et PAM ?
Lors de l'installation des principaux paquets de bibliothèques LDAP, on passe par une série de menus debconf qu'il faut renseigner correctement pour accéder au serveur LDAP de façon transparente.
|
|
![[Avertissement]](/images/warning.png) |
Avertissement |
|
En cas d'erreur de saisie dans la série de menus ci-dessous, il faut reprendre la configuration de chacun des deux paquets individuellement. Classiquement, on passe par la commande dpkg-reconfigure.
|
sudo dpkg-reconfigure libnss-ldapd
sudo dpkg-reconfigure nslcd
|
|
Q27.
|
Quelles sont les modifications apportées au fichier de configuration /etc/nsswitch.conf pour activer l'accès aux ressources de l'annuaire LDAP ?
Lors de l'installation des paquets à l'étape précédente, le fichier /etc/nsswitch.conf a été modifié.
|
|
grep ldap /etc/nsswitch.conf
passwd: files systemd ldap
group: files systemd ldap
shadow: files systemd ldap |
|
Q28.
|
Comment illustrer simplement le fonctionnement du mécanisme name service switch intégrant l'utilisation de l'annuaire LDAP ?
Rechercher la commande de récupération des entrées depuis les bases de données d'administration dans les outils fournis avec les bibliothèques standard (paquet libc-bin).
|
|
dpkg -L libc-bin | grep "bin/"
La commande getent fournie avec le paquet libc-bin donne la liste des entrées accessibles pour chaque catégorie du fichier de configuration. Voici un exemple pour la catégorie passwd qui fait apparaître les entrées de l'annuaire LDAP à la suite des comptes utilisateurs système issus des fichiers locaux.
getent passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
systemd-timesync:x:997:997:systemd Time Synchronization:/:/usr/sbin/nologin
messagebus:x:100:107::/nonexistent:/usr/sbin/nologin
sshd:x:101:65534::/run/sshd:/usr/sbin/nologin
etu:x:1000:1000:Etudiant.e,,,:/home/etu:/bin/bash
systemd-resolve:x:996:996:systemd Resolver:/:/usr/sbin/nologin
rdnssd:x:102:65534::/var/run/rdnssd:/usr/sbin/nologin
nslcd:x:103:109:nslcd name service LDAP connection daemon,,,:/run/nslcd:/usr/sbin/nologin
padme:x:10000:10000:Padme Amidala Skywalker:/ahome/padme:/bin/bash
anakin:x:10001:10001:Anakin Skywalker:/ahome/anakin:/bin/bash
leia:x:10002:10002:Leia Organa Skywalker:/ahome/leia:/bin/bash
luke:x:10003:10003:Luke Skywalker:/ahome/luke:/bin/bash |
|
Q29.
|
Comment valider l'authentification d'un utilisateur déclaré dans l'annuaire LDAP ?
Choisir un service qui nécessite une authentification sur le système et qui utilise une entrée de l'annuaire LDAP.
|
|
Les exemples de services nécessitant une authentification ne manquent pas. La commande su qui permet de changer d'identité est le plus immédiat.
su - padme
Mot de passe :
su: avertissement : impossible de changer le répertoire vers /ahome/padme: Aucun fichier ou dossier de ce type
padme@ldap-client:/home/etu$
Dans les journaux du système, on retrouve les mêmes éléments.
journalctl -o cat -n 20 --grep="pam_unix" | grep padme
pam_unix(su-l:session): session closed for user padme
pam_unix(su-l:session): session opened for user padme(uid=10000) by etu(uid=1000)
pam_unix(su-l:auth): authentication failure; logname=etu uid=1000 euid=0 tty=/dev/pts/0 ruser=etu rhost= user=padme
pam_unix(su-l:session): session closed for user padme
pam_unix(su-l:session): session opened for user padme(uid=10000) by etu(uid=1000)
pam_unix(su-l:auth): authentication failure; logname=etu uid=1000 euid=0 tty=/dev/pts/0 ruser=etu rhost= user=padme
Voici un autre exemple d'accès avec ssh.
ssh padme@localhost
The authenticity of host 'localhost (::1)' can't be established.
ED25519 key fingerprint is SHA256:yFLaZk+OfY7z7bHyHPXgjowRS4KMHjfoMQxracRdG9M.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ED25519) to the list of known hosts.
padme@localhost's password:
Linux ldap-client 6.4.0-3-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.4.11-1 (2023-08-17) 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.
Could not chdir to home directory /ahome/padme: No such file or directory
padme@ldap-client:/$
déconnexion
Connection to localhost closed.
journalctl -o cat -n 100 -u ssh | grep padme
Il ne manque que l'accès au système de fichiers pour que la configuration soit vraiment complète.
|