7. Accès aux ressources NIS & NFS depuis le client

Dans cette section, on suppose que les bases NIS du poste serveur sont disponibles et accessibles. Dans un premier temps, on configure le poste client pour qu'il obtienne de façon transparente les informations sur les comptes utilisateurs. Dans un second temps, on complète sa configuration pour qu'il obtienne, toujours de façon transparente les informations sur le système de fichiers réseau.

7.1. Configuration NIS

Q25.

Quelles sont les opérations à effectuer pour que le service NIS soit consulté à chaque requête de résolution de nom ? Quel sont les fichiers de configuration concernés ?

Consulter le support Debian NIS howto ainsi que la liste des fichiers du paquet.

Le fichier de configuration concerné est /etc/nsswitch.conf. Dans ce fichier l'entrée concernée par la résolution des noms est la ligne débutant par hosts:. Pour que le service NIS soit utilisé, il est nécessaire d'ajouter l'option nis entre files et dns.

# grep ^hosts /etc/nsswitch.conf 
hosts:          files nis dns

Q26.

Quelle est la commande qui permet de lister les informations diffusées via le service NIS ?

Rechercher dans le support The Linux NIS(YP)/NYS/NIS+ HOWTO et consulter la liste des commandes yp* fournies avec le paquet.

La commande recherchée est ypcat. On donne un exemple d'exécution ci-dessous.

# ypcat hosts
2001:db8:feb2:10::12  ip6-srvr
2001:db8:feb2:10::11  ip6-clnt
192.0.2.12      srvr
127.0.0.1       localhost
192.0.2.11      clnt

Q27.

Comment faire en sorte que les comptes utilisateur publiés via le service NIS soient utilisables sur les postes clients ?

Consulter les rubriques relatives aux utilisateurs et aux groupes de la section 2 de la page Debian NIS howto

On doit compléter les fichiers locaux aux clients NIS pour que les informations publiées via le service soient vues comme si elles étaient locales.

# echo "+::::::" >>/etc/passwd
# echo "+::::::::" >>/etc/shadow
# echo "+:::" >>/etc/group

Q28.

Comment valider l'accès aux ressources via le commutateur Name Service Switch (NSS) local au client ?

Rechercher la commande qui affiche les entrées des bases de données prises en charge par les bibliothèques du Name Service Switch (NSS). On peut utiliser une recherches par mots clés dans les pages de manuels.

La recherche # man -k NSS donne une liste de pages de manuels d'outils. Dans cette liste, il est relativement aisé de repérer l'outil getent. Il suffit ensuite de consulter les pages de manuels de cet outil pour relever les options qui nous intéressent.

# getent passwd | grep etu
etu:x:1000:1000:Etudiant,,,:/home/etu:/bin/bash
etu-nis:x:2000:2000:Etudiant NIS,,,:/ahome/etu-nis:/bin/bash
# getent group | grep etu
cdrom:x:24:etu
floppy:x:25:etu
audio:x:29:etu
dip:x:30:etu
video:x:44:etu
plugdev:x:46:etu
etu:x:1000:
wireshark:x:107:etu
etu-nis:x:2000:

Q29.

Comment valider l'accès au compte utilisateur distant ? Quelle est la partie manquante à cette étape de la configuration ?

Rechercher l'outil qui permet de changer d'identité au niveau du système. L'identité à adopter est etu-nis.

L'outil à utiliser est su.

# su etu-nis
$ cd
bash: cd: /ahome/etu-nis: Aucun fichier ou dossier de ce type
$ id
uid=2000(etu-nis) gid=2000(etu-nis) groupes=2000(etu-nis)
$ exit

La copie d'écran ci-dessus montre que le changement d'identité a bien fonctionné mais que le répertoire utilisateur n'est pas accessible. Pour qu'un répertoire utilisateur distant soit vu comme un répertoire local, il faut nécessairement disposer d'un système de fichiers réseau. Cette dernière condition peut être satisfaite à l'aide du service d'automontage.

7.2. Configuration NFS avec automontage

On considère que le paquet autofs a déjà été installé sur le poste client et que la configuration est à compléter sur le serveur.

Q30.

Quelle est la modification à apporter au fichier de configuration /etc/nsswitch.conf pour que le démon automount accède aux ressources du service NIS ?

Il faut ajouter une directive supplémentaire qui spécifie l'ordre de recherche des informations pour le démon automount.

La syntaxe est la suivante.

# echo -e "\nautomount:      files nis" >> /etc/nsswitch.conf

Q31.

Quel est le fichier de configuration du service d'automontage dans lequel sont définis ses paramètres globaux ?

Rechercher le répertoire dans lequel sont placés les fichiers de paramétrage de tous les services.

Il s'agit du fichier /etc/default/autofs.

Q32.

Quelle modification apporter à ce fichier pour que la journalisation des évènements soit active ?

Consulter le fichier et rechercher les options relatives à la journalisation.

# grep -v ^# /etc/default/autofs 
MASTER_MAP_NAME="/etc/auto.master"
TIMEOUT=300
BROWSE_MODE="no"
LOGGING="verbose"

Q33.

Quelle est l'option du démon automount qui donne l'état de la configuration ?

Consulter les pages de manuels de l'outil.

L'option à utiliser est -m.

# automount -m

autofs dump map information
===========================

global options: none configured

Mount point: /ahome

source(s):

  instance type(s): file 
  map: /etc/auto.home

  * | -port=2049,-fstype=nfs4    vm2.fake.domain:/home/&

Q34.

Quelles sont les méthodes qui permettent de valider le fonctionnement du service d'automontage ?

Donner deux moyens d'acquérir l'identité d'un utilisateur défini sur le serveur NIS. Ne pas oublier de consulter les journaux système pour observer les étapes de ces connexions utilisateur.

On peut donner 3 exemples.

  • Connexion SSH depuis un autre hôte

  • Changement d'identité sur le même hôte avec la commande su

  • Utilisation du gestionnaire de connexion graphique

Voici un exemple d'utilisation de la commande su.

  • État du service d'automontage avant accès à la ressource.

    # automount -m
    
    autofs dump map information
    ===========================
    
    global options: none configured
    
    Mount point: /ahome
    
    source(s):
    
      instance type(s): file 
      map: /etc/auto.home
    
      * | -port=2049,-fstype=nfs4    vm2.fake.domain:/home/&

    Extrait de la liste des montages actifs.

    # mount | grep auto
    /etc/auto.home on /ahome type autofs \
      (rw,relatime,fd=7,pgrp=6461,timeout=300,minproto=5,maxproto=5,indirect)
  • Accès au compte utilisateur etu-nis.

    # su etu-nis
    etu-nis@clnt:/home/etu$ cd
    etu-nis@clnt:~$ pwd
    /ahome/etu-nis
    etu-nis@clnt:~$ ls -lAh
    total 16K
    -rw------- 1 etu-nis etu-nis  213 mai   20 10:26 .bash_history
    -rw-r--r-- 1 etu-nis etu-nis  220 mai   19 17:00 .bash_logout
    -rw-r--r-- 1 etu-nis etu-nis 3,4K mai   19 17:00 .bashrc
    -rw-r--r-- 1 etu-nis etu-nis  675 mai   19 17:00 .profile

    Nouvel extrait de la liste des montages actifs.

    $ mount | egrep '(auto|home)'
    /etc/auto.home on /ahome type autofs \
      (rw,relatime,fd=7,pgrp=6461,timeout=300,minproto=5,maxproto=5,indirect)
    vm2.fake.domain://home/etu-nis on /ahome/etu-nis type nfs4 i\
      (rw,relatime,vers=4,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp6,
      timeo=600,retrans=2,sec=sys,clientaddr=2001:db8:feb2:10::11,
      minorversion=0,local_lock=none,addr=2001:db8:feb2:10::12)

    Enfin ! On dispose bien d'un montage utilisant la version 4 du système de fichiers réseau NFS. Ce montage utilise le protocole de couche réseau IPv6.