Suivant: Disque de RAM initial, Précédent: Certificats X.509, Monter: Configuration du système [Table des matières][Index]
Le module (gnu system nss)
fournit des liaisons pour le fichier de
configuration du name service switch ou NSS de la libc
(voir NSS Configuration File dans The GNU C Library Reference
Manual). En résumé, NSS est un mécanisme qui permet à la libc d’être
étendue avec de nouvelles méthodes de résolution de « noms » dans les bases
de données du système, comme les noms d’hôtes, les noms des services, les
comptes utilisateurs et bien plus (voir System
Databases and Name Service Switch dans The GNU C Library Reference
Manual).
La configuration de NSS spécifie, pour chaque base de données du système,
quelle méthode de résolution utiliser, et comment les diverses méthodes sont
enchaînées — par exemple, sous certaines circonstances, NSS devrait essayer
la méthode suivante de la liste. La configuration de NSS est donnée dans le
champ name-service-switch
de la déclaration operating-system
(voir name-service-switch
).
Par exemple, la déclaration ci-dessous configure NSS pour utiliser le
moteur
nss-mdns
, qui supporte la résolution de nom d’hôte sur le DNS
multicast (mDNS) pour les noms d’hôtes terminant par .local
:
(name-service-switch
(hosts (list %files ; d'abord, vérifier /etc/hosts
;; Si ce qui précède n'a pas fonctionné, essayer
;; avec « mdns_minimal ».
(name-service
(name "mdns_minimal")
;; « mdns_minimal » fait autorité pour
;; « .local ». Lorsqu'il renvoie « pas trouvé »,
;; inutile d'essayer la méthode suivante.
(reaction (lookup-specification
(not-found => return))))
;; Puis revenir sur DNS.
(name-service
(name "dns"))
;; Enfin, essayer avec « mdns complet ».
(name-service
(name "mdns")))))
Ne vous inquiétez pas : la variable %mdns-host-lookup-nss
(voir plus
bas) contient cette configuration, donc vous n’avez pas besoin de tout taper
si vous voulez simplement que la résolution de nom en .local
fonctionne.
Remarquez que dans ce cas, en plus de mettre en place le
name-service-switch
de la déclaration operating-system
, vous
devez aussi utiliser avahi-service-type
(voir avahi-service
), ou %desktop-services
qui l’inclut
(voir Services de bureaux). Cela rend nss-mdns
accessible au démon
de cache du service de nom (voir nscd-service
).
Pour votre confort, les variables suivantes contiennent des configurations NSS typiques.
C’est la configuration NSS par défaut, un objet name-service-switch
.
C’est la configuration NSS avec le support de la résolution de noms sur DNS
multicast (mDNS) pour les noms d’hôtes en .local
.
La référence pour la configuration de NSS est donnée ci-dessous. C’est une
correspondance directe avec le format de fichier de la bibliothèque C, donc
référez-vous au manuel de la bibliothèque C pour plus d’informations
(voir NSS Configuration File dans The GNU C Library Reference
Manual). Comparé au format de fichier de configuration de NSS, cette
configuration a l’avantage non seulement d’ajouter ces bonnes vieilles
parenthèses, mais aussi des vérifications statiques ; vous saurez s’il y a
des erreurs de syntaxe et des coquilles dès que vous lancerez guix
system
.
C’est le type de données représentant la configuration de NSS. Chaque champ ci-dessous représente l’un des système de bases de données supportés.
aliases
ethers
group
gshadow
hosts
initgroups
netgroup
networks
password
public-key
rpc
services
shadow
Les bases de données du système gérées par NSS. Chaque champ doit être une
liste d’objets <name-service>
(voir plus bas).
C’est le type de données représentant un service de noms et l’action de résolution associée.
name
Une chaîne dénotant le service de nom (voir Services in the NSS configuration dans The GNU C Library Reference Manual).
Remarquez que les services de dnoms listés ici doivent être visibles à
nscd. Cela se fait en passant la liste des paquets fournissant les services
de noms à l’argument #:name-services
de nscd-service
(voir nscd-service
).
reaction
Une action spécifiée par la macro lookup-specification
(voir Actions in the NSS configuration dans The GNU C Library
Reference Manual). Par exemple :
Suivant: Disque de RAM initial, Précédent: Certificats X.509, Monter: Configuration du système [Table des matières][Index]