Гесиод (служба имен)
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2019 г. ) |
В области вычислений служба Hesiod имен возникла в проекте «Афина» (1983–1991). [1] Он использует DNS функциональность для обеспечения доступа к базам данных с информацией , которая меняется нечасто. В средах Unix он часто служит для распространения информации, хранящейся в /etc/пароль , /etc/group и файлы /etc/printcap и другие. Часто сервер LDAP используется для распространения той же информации, что и Гесиод. Однако, поскольку Hesiod может использовать существующие DNS-серверы, развернуть его в сети довольно легко.
В Unix-подобных системах пользователи обычно имеют строку в /etc/passwd
файл для каждого локального пользователя, например:
foo:x:100:10:Foo Bar:/home/foo:/bin/sh
Эта строка состоит из семи полей, разделенных двоеточиями, которые содержат следующие данные:
- логин пользователя (строка);
- хэш пароля или «x», если теневого пароля (строка); используется файл
- идентификатор пользователя (целое число без знака);
- идентификатор основной группы пользователя (целое число без знака);
- Поле Gecos (четыре поля, разделенные запятыми, строка);
- домашний каталог пользователя (строка);
- Оболочка входа пользователя (строка).
Эта система отлично работает для небольшого числа пользователей на небольшом количестве машин. Но когда все больше пользователей начинают использовать больше компьютеров, управление этой информацией в одном месте становится критически важным. Здесь входит Гесиод.
Вместо того, чтобы хранить эту информацию на каждой машине, Гесиод хранит ее в записях на вашем DNS-сервере. Тогда каждый клиент сможет запросить эту информацию у DNS-сервера вместо того, чтобы искать ее локально. В BIND записи для указанного выше пользователя могут выглядеть примерно так:
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"
Существует три записи, поскольку система должна иметь возможность доступа к информации разными способами. Первая строка поддерживает поиск пользователя по его имени входа, а вторые две позволяют искать информацию по uid пользователя. Обратите внимание на использование класса HS вместо IN , как и следовало ожидать. Система доменных имен имеет специальный класс обслуживания для целей Гесиода.
На стороне клиента также необходимо выполнить некоторую настройку. Файл /etc/hesiod.conf для этой настройки может выглядеть примерно так:
rhs=.example.net lhs=.ns classes=HS, IN
Файл /etc/resolv.conf использует серверы имен, на которых есть записи Гесиода. Затем
$ hesinfo foo passwd foo:x:100:10:Foo Bar:/home/foo:/bin/sh
Здесь происходит следующее: foo и passwd объединяются со значениями lhs и rhs в файле /etc/hesiod.conf для создания полного имени foo.passwd.ns.example.net . Затем DNS-сервер запрашивает эту запись и возвращает значение этой записи.
См. также
[ редактировать ]- Переключатель службы имен (NSS)
- Сетевая информационная служба (NIS)
- Облегченный протокол доступа к каталогам (LDAP)
- Керберос
Ссылки
[ редактировать ]- ^ Дженнифер Г. Штайнер; Дэниел Э. Гир-младший (21 июля 1988 г.). «Сетевые службы в среде Athena». Материалы зимней конференции Usenix 1988 года . CiteSeerX 10.1.1.31.8727 .
Внешние ссылки
[ редактировать ]- NetBSD по форматам файлов Руководство –
- Единый вход и системный администратор