Table des matières
Name Service Switch
Lorsqu'on fait un ls -l, nous voyons des usernames et des groupes propriétaires des fichiers.
Lors d'un netstat, nous voyons de noms de protocoles et de port Idem pour DNS. Nous les voyons sous les formes de noms.
Mais stockés dans le système de fichiers sous la forme de nombres
Qui fait la conversion ?
Name Service Switch bien-sûr.
Librairies pour résolution de nom en nombre et inversement.
N'importe quoi contenant la correspondance peut être utilisé : Fichiers, LDAP, NIS, etc.
Configuration
vim /etc/nsswitch
NSS ne fait pas la résolution.
Il définit comment la résolution est faites et dans quel ordre Par exemple, pour les noms de domaines, chercher d'abord dans un fichier,puis demander au serveur DNS
hosts: files dns passwd: files ldap nisplus nis
Pour faire une requête comme le système, utiliser la commande getent getent passwd 503.
Qui porte le n° 503 dans la base utilisateur ?
Demandera d'abord aux fichiers, puis à LDAP.
Avantages
Les méthodes de résolution ne sont pas stockées en dur dans les programmes.
Par exemple, le programme ls s'adresse toujours à NSS pour la résolution.
Il permet d'ajouter des modules qui peuvent être mis à jour séparément.
Une seule librairie pour l'ensemble des programmes demandant ce service, et pas une librairie par programme.
Modules NSS
Comportent plusieurs fonctions avec le nom suivant :
_nss_service_fonction
Par exemple : _nss_files_gethostbyname
Ces fonctions stockées dans des modules libnss_* dans /lib/
Si l'on veut modifier la façon dont s'opèrent la résolution d'un UID, on met simplement à jour le module /lib/libnss_files.so.2
On peut rajouter simplement un module Par exemple : libnss_ldap.so.2
so = shared objet : librairie ou module partagés