Next: Disco en RAM inicial, Previous: Certificados X.509, Up: Configuración del sistema [Contents][Index]
El módulo (gnu system nss)
proporciona una interfaz con el archivo de
configuración del selector de servicios de nombres o NSS
(see NSS Configuration File in The GNU C Library Reference
Manual). En resumen, NSS es un mecanismo que permite la extensión de libc
con nuevos métodos de búsqueda de “nombres”, lo que incluye nombres de
máquinas, nombres de servicios, cuentas de usuaria y más (see System Databases and Name Service Switch in The GNU C
Library Reference Manual).
La configuración de NSS especifica, para cada base de datos del sistema, que
método de búsqueda debe ser usado, y cómo los varios métodos se enlazan
entre sí—por ejemplo, bajo qué circunstancias NSS deberá probar con el
siguiente método en la lista. La configuración de NSS se proporciona en el
campo name-service-switch
de las declaraciones
operating-system
(see name-service-switch
).
Como ejemplo, la siguiente declaración configura NSS para que use el
motor
nss-mdns
, que permite las búsquedas de nombres de máquinas sobre DNS
multicast (mDNS) para nombres de máquinas terminados en .local
:
(name-service-switch
(hosts (list %files ;primero, comprueba /etc/hosts
;; Si lo anterior no funcionó, prueba
;; con 'mdns_minimal'.
(name-service
(name "mdns_minimal")
;; 'mdns_minimal' tiene autoridad sobre
;; '.local'. Cuando devuelve 'not-found,
;; no es necesario intentarlo con los
;; métodos siguientes.
(reaction (lookup-specification
(not-found => return))))
;; Si no, usa DNS.
(name-service
(name "dns"))
;; Finalmente, prueba con 'mdns' "al completo".
(name-service
(name "mdns")))))
No se preocupe: la variable %mdns-host-lookup-nss
(véase a
continuación) contiene esta configuración, de manera que no tiene que
escribirla si todo lo que desea es que funcione la búsqueda de nombres de
máquina en .local
.
Fíjese que, en este caso, además de establecer el valor de
name-service-switch
en la declaración operating-system
, es
necesario también usar el servicio avahi-service-type
(see avahi-service-type
) o
%desktop-services
, donde está incluido. Esto permite el acceso a
nss-mdsn
desde el daemon de la caché del servicio de nombres
(see nscd-service
).
Por conveniencia, las siguientes variables proporcionan configuraciones NSS típicas.
Esta es la configuración predeterminada del selector de servicios de
nombres, un objeto name-service-switch
.
Esta es la configuración del selector de servicios de nombres que permite la
búsqueda de nombres de máquinas por DNS multicast (mDNS) para nombres de
máquinas terminados en .local
.
La referencia de la configuración del selector de servicios de nombres se
proporciona a continuación. Tiene una asociación directa con el formato del
archivo de configuración de la biblioteca C, por lo que se recomienda el
manual de la biblioteca C para obtener más información (see NSS
Configuration File in The GNU C Library Reference Manual). En
comparación con el formato del archivo de configuración del NSS de libc, no
solo tiene solo la ventaja de la cálida sensación proporcionada por la
adición de paréntesis que tanto nos gustan, sino que también tiene
comprobaciones estáticas: conocerá los errores sintácticos y tipográficos
con la ejecución de guix system
.
El tipo de datos que representa la configuración del selector de servicios de nombres (NSS). Cada campo a continuación representa una de las bases de datos del sistema admitidas.
aliases
ethers
group
gshadow
hosts
initgroups
netgroup
networks
password
public-key
rpc
services
shadow
The system databases handled by the NSS. Each of these fields must be a
list of <name-service>
objects (see below).
Este es el tipo de datos que representa un servicio de nombres real y la acción de búsqueda asociada.
name
Una cadena que denota el nombre de servicio (see Services in the NSS configuration in The GNU C Library Reference Manual).
Fíjese que los servicios de nombres enumerados aquí deben ser visibles para
nscd. Esto se consigue mediante la adición del parámetro
#:name-services
a nscd-service
con la lista de paquetes que
proporcionan los servicios de nombres necesarios (see nscd-service
).
reaction
Una acción especificada mediante el uso del macro
lookup-specification
(see Actions in the NSS configuration in The GNU C Library Reference Manual). Por ejemplo:
Next: Disco en RAM inicial, Previous: Certificados X.509, Up: Configuración del sistema [Contents][Index]