Cette partie reprend les étapes décrites dans le support Introduction au système de fichiers réseau NFSv4. Les certificats TLS du service NFS (Section 3.2, « Définir les objets gérés par l'autorité de certification » et Section 3.3, « Installer les paquets TLS et générer les certificats ») ainsi que le keytab système /etc/krb5.keytab (Section 3.4, « Installer et initialiser le service Kerberos ») sont déjà déployés. Contrairement au support d'origine, qui active la sécurité en deux temps, avec d'abord une exportation en clair, puis sa version sécurisée, il ne reste ici qu'à installer le paquet correspondant au serveur NFS et à écrire directement la version sécurisée du fichier /etc/exports.
|
Q207. |
Comment installer et valider les services communs au client et au serveur NFS ? Recherchez et installer le paquet, puis contrôler la liste des processus et des numéros de port ouverts. |
|
Reprenez ici les questions de la partie Gestion des paquets NFS.
|
|
|
Q208. |
Comment configurer l'exportation d'une arborescence avec le protocole NFS ? Reprenez les questions de la partie Configuration du serveur NFS, mais on va directement à la syntaxe sécurisée déjà mise au point dans ce même support, puisque le royaume Kerberos et l'autorité de certification TLS communs à l'annuaire et au partage NFS ont déjà été déployés dans les parties Section 3.4, « Installer et initialiser le service Kerberos » et Section 3.3, « Installer les paquets TLS et générer les certificats ». |
|
|
|
Q209. |
Comment valider la configuration de l'exportation réalisée par le serveur NFS ? Reprenez la question sur la la commande qui permet d'identifier l'arborescence disponible à l'exportation. |
|
Du point de vue métier, l'opérateur du réseau de stockage doit respecter le schéma de nommage qui veut que l'arborescence soit identique entre serveur et client. Dans ce but, réaliser un montage local permet de faire pointer l'arborescence partagée sur un volume de stockage donné. Ce volume de stockage pourra changer au cours du temps tout en respectant le schéma de nommage.
|
Q210. |
Quel est le montage local à mettre en place pour garantir la cohérence du schéma de nommage entre les postes serveur et client ? Reprenez la question sur la distinction entre les versions 3 et 4 du protocole NFS et sur le contexte de nommage. |
|
Cette section correspond aux traitements réalisés lors de la première utilisation du service par un nouvel utilisateur.
L'opération se déroule en trois étapes, car il est impossible de créer un répertoire utilisateur directement depuis le client : la création doit être provoquée sur le serveur lui-même.
-
Configurer le serveur comme client de son propre annuaire LDAP, au même titre que le client NFSv4.
-
Activer, sur le serveur, l'appel au module de création automatique des répertoires utilisateurs.
-
Provoquer cette création en ouvrant une première connexion sur le serveur, via SSH depuis le client par exemple : toutes les connexions suivantes depuis un client NFSv4 réutiliseront l'arborescence créée lors de cette première connexion.
|
Q211. |
Pourquoi la création du répertoire doit-elle être provoquée par une connexion sur le serveur, et non par une simple connexion sur le client ? |
|||
|
Un montage NFSv4, qu'il soit manuel ou déclenché par
|
||||
|
Q212. |
Comment configurer le serveur comme client de son propre annuaire LDAP ? Contrairement au client (Section 4.4, « Configurer l'accès transparent à l'annuaire depuis le client »), le serveur n'a encore reçu aucun paquet NSS/PAM LDAP : son installation se fait donc en une seule fois, debconf pré-rempli avant l'installation plutôt qu'après. |
|||
|
Le compte de service sudo install -m 400 ~/.ldap_nslcd-proxy_pass /root/ cat << 'SCRIPT_EOF' >configure-nslcd-server.sh
#!/usr/bin/env bash
set -euo pipefail
# 1. Vérification des privilèges
if [[ ${EUID} -ne 0 ]]; then
echo "Erreur : ce script doit être exécuté par root (sudo $0)." >&2
exit 1
fi
readonly PROXY_DN="uid=nslcd-proxy,ou=users,dc=lab,dc=local"
PASS_FILE="/root/.ldap_nslcd-proxy_pass"
if [[ ! -s "${PASS_FILE}" ]]; then
echo "Erreur : secret introuvable dans ${PASS_FILE}." >&2
exit 1
fi
PROXY_PASS=$(head -n 1 "${PASS_FILE}")
readonly PROXY_PASS
echo "=== 1. Pre-seeding debconf ==="
debconf-set-selections <<EOF
nslcd nslcd/ldap-uris string ldaps://ldap-srvr.lab.local
nslcd nslcd/ldap-base string dc=lab,dc=local
nslcd nslcd/ldap-auth-type select simple
nslcd nslcd/ldap-starttls boolean false
nslcd nslcd/ldap-reqcert select demand
nslcd nslcd/ldap-cacertfile string /etc/ssl/certs/labCA.crt
nslcd nslcd/ldap-binddn string ${PROXY_DN}
nslcd nslcd/ldap-bindpw password ${PROXY_PASS}
libnss-ldapd libnss-ldapd/nsswitch multiselect passwd, group, shadow
EOF
echo "=== 2. Installation des paquets ==="
apt update -qq
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
nslcd libnss-ldapd libpam-ldapd nslcd-utils
echo "=== 3. Redémarrage du service ==="
systemctl restart nslcd
echo ""
echo "Succès : serveur configuré comme client LDAP."
SCRIPT_EOF
sudo bash configure-nslcd-server.sh
Vérifiez que la résolution des comptes fonctionne désormais aussi sur le serveur. id anakin uid=10001(anakin) gid=10001(anakin) groupes=10001(anakin),100(users) |
||||
|
Q213. |
Comment activer, sur le serveur, l'appel au module de création automatique des répertoires utilisateurs ? Recherchez les fonctions de création automatique des répertoires utilisateurs dans la liste des paquets de la distribution. |
|||
|
Sur le serveur, on complète le fichier commun de gestion de session : sudo pam-auth-update --package --enable mkhomedir Vérifiez le résultat en recherchant la clé grep mkhomedir /etc/pam.d/* /etc/pam.d/common-session:session optional pam_mkhomedir.so |
||||
|
Q214. |
Comment provoquer et valider cette création depuis le client, sans supposer que l'automontage |
|||
|
Depuis le client
Le chemin affiché confirme que le répertoire vient d'être créé sous la racine commune Une seconde connexion permet de vérifier le caractère idempotent du traitement : le message de création ne doit plus apparaître.
|

![[Attention]](/images/caution.png)
![[Note]](/images/note.png)