Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

Вместо того, чтобы хранить эту информацию на каждой машине, Гесиод хранит ее в записях на вашем 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.netlhs = .nsклассы = HS, IN

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

hesinfo foo passwd

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

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

То , что происходит здесь в том , что Foo и ПАРОЛЬ сочетаются с LHS и RHS значений в файле /etc/hesiod.conf , чтобы создать полное имя foo.passwd.ns.hesiod . Затем DNS-сервер запрашивает эту запись и возвращает значение этой записи.

См. Также [ править ]

Ссылки [ править ]

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

Внешние ссылки [ править ]