Гесиод (имя службы) - Hesiod (name service)

В вычисление, то Гесиод именная служба возник в Проект Афина (1983–1991).[1] Оно использует DNS функциональность для предоставления доступа к базы данных из Информация которые меняются нечасто. В Unix среды, которую он часто служит для распространения информации, хранящейся в / etc / passwd, / etc / group, и / и т.д. / printcap файлы, среди прочего. LDAP Сервер используется для распространения той же информации, что и Гесиод. Однако, поскольку Гесиод может использовать существующие DNS-серверы, развернуть его в сети довольно просто.

В Unix-подобный системные пользователи обычно имеют строку в файле / etc / passwd для каждого локального пользователя, например:

foo: x: 100: 10: Foo Bar: / home / foo: / bin / sh

Эта строка состоит из семи полей, разделенных двоеточиями, которые содержат следующие данные:

  1. логин пользователя (строка);
  2. хеш пароля или "x", если теневой пароль файл уже используется (строка);
  3. идентификатор пользователя (беззнаковое целое);
  4. идентификатор основной группы пользователя (целое число без знака);
  5. Месторождение Гекос (четыре поля, разделенных запятыми, строка);
  6. домашний каталог пользователя (строка);
  7. оболочка входа пользователя (строка).

Эта система отлично работает для небольшого числа пользователей на небольшом количестве машин. Но когда все больше пользователей начинают использовать больше машин, управление этой информацией в одном месте становится критичным. Здесь и появляется Гесиод.

Вместо того, чтобы хранить эту информацию на каждой машине, Гесиод хранит ее в записях на вашем DNS-сервере. Затем каждый клиент может запросить эту информацию у DNS-сервера вместо того, чтобы искать ее локально. В СВЯЗЫВАТЬ записи для указанного выше пользователя могут выглядеть примерно так:

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: / home / foo: / bin / sh "100.uid.ns.example.net HS TXT" foo: x: 100: 10: Панель Foo: / home / foo: / bin / sh "

Есть три записи, потому что система должна иметь доступ к информации разными способами. Первая строка поддерживает поиск пользователя по его имени для входа, а две вторые позволяют искать информацию по uid пользователя. Обратите внимание на использование HS класс вместо В как и следовало ожидать. В система доменных имен имеет особый класс обслуживания для целей Гесиода.

На стороне клиента также должна произойти некоторая конфигурация. Файл /etc/hesiod.conf для этой настройки может выглядеть примерно так:

rhs = .example.netlhs = .nsclasses = HS, IN

Также убедитесь, что файл /etc/resolv.conf использует серверы имен с записями Гесиода. После того, как это настроено, можно протестировать настройку с помощью hesinfo программа:

hesinfo foo passwd

должен вернуться

foo: x: 100: 10: Foo Bar: / home / foo: / bin / sh

Здесь происходит то, что фу и пароль сочетаются с lhs и rhs значения в файле /etc/hesiod.conf для создания полного имени foo.passwd.ns.hesiod. Затем DNS-сервер запрашивает эту запись и возвращает значение этой записи.

Смотрите также

Рекомендации

  1. ^ Дженнифер Г. Штайнер; Дэниел Э. Гир-младший (21 июля 1988 г.). «Сетевые службы в среде Афины». Материалы зимней конференции Usenix 1988 г.. CiteSeerX  10.1.1.31.8727.

внешняя ссылка