Perl для системного администрирования



         

MIS, NIS+ и WINS - часть 2


NIS значительно упрощает администрирование сетей. Так, если в сети oog.org появляются новые машины, то добавить их в существующую сеть совсем не сложно. Менеджер сети редактирует файл узлов на главном NIS-сервере и «проталкивает» новую версию на все подчиненные. Теперь каждый клиент из NIS-домена будет «знать» о существовании новых машин. NIS обеспечивает легкость администрирования, объединенную с избыточностью (если один сервер недоступен, клиент может обратиться к другому) и распределением нагрузки (не все клиенты в сети используют один и тот же сервер).

Теперь, когда мы знакомы с теорией, можно посмотреть, как Perl помогает в вопросах, связанных с NIS. Начнем мы с процесса размещения данных в NIS. Вы, наверное, удивитесь, но это уже практически сделано. Файлы узлов, созданные в предыдущем разделе, можно импортировать в NIS, просто перенеся их в нужное место в каталоге исходных файлов на главном сервере и активировав обычные механизмы принудительной рассылки (проталкивания, push mechanisms), как правило, для этого надо выполнить make в /var/yp. По умолчанию Makefile из каталога /var/yp

использует в качестве исходников для NIS-карт содержимое конфигурационных файлов главного сервера.

Обычно имеет смысл создать отдельный каталог для исходных файлов NIS-карт и соответствующим образом изменить Makefile. Это позволит хранить различные данные для главного сервера и остальных членов NIS-домена. Например, вы можете не захотеть, чтобы файл /etc/passwd с главного сервера применялся в качестве файла паролей для всего домена, или наоборот.

Более интересная задача - получить данные из NIS, запрашивая NIS-сервер. Проще всего это сделать при помощи модуля Net: : NIS Рика Ха-риса (Rik Harris). Данный модуль, начиная с 1995 года, находится в состоянии альфа-версии, но, тем не менее, он вполне рабочий.

Вот пример, позволяющий получить и напечатать содержимое карты при помощи одной функции, применяя Net: : NIS. Это похоже на команду NIS уpeat:

use Net::NIS;

NIS-домен по умолчанию




Содержание  Назад  Вперед