stringtranslate.com

Hesíodo (nombre de servicio)

En informática , el servicio de nombres Hesiod se originó en el Proyecto Athena (1983-1991). [1] Utiliza la funcionalidad DNS para proporcionar acceso a bases de datos de información que cambian con poca frecuencia. En entornos Unix, a menudo sirve para distribuir información guardada en los archivos /etc/passwd , /etc/group y /etc/printcap , entre otros. Con frecuencia, se utiliza un servidor LDAP para distribuir el mismo tipo de información que Hesiod. Sin embargo, debido a que Hesiod puede aprovechar los servidores DNS existentes, implementarlo en una red es bastante fácil.

En un sistema tipo Unix, los usuarios suelen tener una línea en el /etc/passwdarchivo para cada usuario local como:

foo:x:100:10:Foo Barra:/inicio/foo:/bin/sh

Esta línea se compone de siete campos separados por dos puntos que contienen los siguientes datos:

  1. nombre de inicio de sesión del usuario (cadena);
  2. hash de contraseña o "x" si se utiliza un archivo de contraseña oculta (cadena);
  3. id de usuario (entero sin signo);
  4. ID del grupo principal del usuario (entero sin signo);
  5. Campo Gecos (cuatro campos separados por comas, cadena);
  6. directorio de inicio del usuario (cadena);
  7. shell de inicio de sesión de usuario (cadena).

Este sistema funciona bien para una pequeña cantidad de usuarios en una pequeña cantidad de máquinas. Pero cuando más usuarios comienzan a utilizar más máquinas, tener esta información administrada en un solo lugar se vuelve fundamental. Aquí es donde entra en juego Hesiod.

En lugar de tener esta información almacenada en cada máquina, Hesiod la almacena en registros en su servidor DNS. Luego, cada cliente puede consultar al servidor DNS para obtener esta información en lugar de buscarla localmente. En BIND, los registros para el usuario anterior podrían verse así:

foo.passwd.ns.example.net HS TXT "foo:x:100:10:Foo Bar:/home/foo:/bin/sh"100.passwd.ns.example.net HS TXT "foo:x:100:10:Foo Bar:/home/foo:/bin/sh"100.uid.ns.example.net HS TXT "foo:x:100:10:Foo Bar:/home/foo:/bin/sh"

Hay tres registros porque el sistema necesita poder acceder a la información de diferentes maneras. La primera línea permite buscar al usuario por su nombre de inicio de sesión y las dos siguientes permiten buscar información por el uid del usuario. Observe el uso de la clase HS en lugar de IN como podría esperarse. El Sistema de nombres de dominio tiene una clase especial de servicio para el propósito de Hesiod.

Del lado del cliente también es necesario realizar alguna configuración. El archivo /etc/hesiod.conf para esta configuración podría verse así:

rhs=.ejemplo.netlhs=.nsclases=HS, IN

El archivo /etc/resolv.conf utiliza los servidores de nombres que tienen los registros de Hesiod.

$ hesinfo contraseña foofoo:x:100:10:Foo Barra:/inicio/foo:/bin/sh

Lo que sucede aquí es que foo y passwd se combinan con los valores lhs y rhs en el archivo /etc/hesiod.conf para crear un nombre completo foo.passwd.ns.example.net . Luego se consulta al servidor DNS para obtener esta entrada y se devuelve el valor de ese registro.

Véase también

Referencias

  1. ^ Jennifer G. Steiner; Daniel E. Geer, Jr. (21 de julio de 1988). "Servicios de red en el entorno Athena". Actas de la conferencia Usenix de invierno de 1988 . CiteSeerX  10.1.1.31.8727 .

Enlaces externos