Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite

Lines Club

Ищем достойных соперников.




Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Next Previous Contents

8. Установка сервера NIS

8.1 Программа-сервер ypserv

Данный документ описывает только установку сервера NIS "ypserv".

Сам сервер может быть найден здесь:

  Site               Directory                    File Name

  ftp.kernel.org     /pub/linux/utils/net/NIS     ypserv-1.3.6.tar.gz
Также неплохо посмотреть страничку http://www.suse.de/~kukuk/linux/nis.html для подробностей.

Установка сервера одна и та же как для традиционной NIS так и для NYS.

Скомпилируйте программное обеспечение, чтобы получить программы ypserv и makedbm. Вы можете настроить ypserv для использования файла securenet или с использованием tcp_wrapper. tcp_wrapper является более удобным, но большое количество людей имеют с ним проблемы. И некоторые файлы с настройками для tcp_wrappers могут привести к нехватке памяти. Если у вас проблемы с ypserv скомпилированным для tcp_wrapper, перекомпилируйте его для использования с файлом securenets. Команда ypserv --version скажет вам, какую версию вы имеете.

Если вы запустили ваш сервер как мастер, определите какие файлы нужны вам для доступа через NIS и затем добавьте или удалите соответствующие записи в правиле "all" в /var/yp/Makefile. Вы всегда должны просматривать Makefile и править Options в начале этого файла.

Есть одно большое различие между ypserv 1.1 и ypserv 1.2. Начиная с версии 1.2, дескрипторы файлов кэшируются. Это приводит к тому, что вы должны вызывать makedbm всегда с опцией -c, если вы создаете новые карты. Убедитесь, что вы используете новый /var/yp/Makefile от ypserv 1.2 или выше или добавьте флаг -c для makedbm в Makefile. Если вы этого не сделаете, ypserv будет продолжать использовать старые карты и не будет их обновлять.

Теперь отредактируйте /var/yp/securenets и /etc/ypserv.conf. Для подробностей, прочтите страницы руководства man на ypserv(8) и ypserv.conf(5).

Убедитесь, что portmapper (portmap(8)) запущен и запустите сервер ypserv. Команда

    % rpcinfo -u localhost ypserv
должна выдать примерно следующее

    program 100004 version 1 ready and waiting
    program 100004 version 2 ready and waiting
Строка "version 1" может быть опущена в зависимости от версии ypserv и настроек, которые вы используете. Она необходима только если вы имеете старых клиентов NIS от SunOS 4.x.

Теперь сгенерируйте базу данных NIS (YP). На мастер-сервере запустите команду

    % /usr/lib/yp/ypinit -m
На подчиненном сервере убедитесь, что ypwhich -m работает. Это означает, что ваш подчиненный сервер должен быть настроен как клиент NIS перед тем как вы запустите команду

    % /usr/lib/yp/ypinit -s masterhost
для установки этого узла как подчиненного сервера NIS.

Вот теперь ваш сервер запущен.

Если вы имеете проблемы, вы можете запустить ypserv и ypbind в режиме отладки в другом терминале. Отладочные сообщения должны показать вам где произошла ошибка.

Если вам нужно обновить карту, запустите make в каталоге /var/yp на вашем мастер-сервере. Это приведет к обновлению карты и ее выталкиванию на подчиненные серверы, если ее исходный файл имеет более свежую дату. Пожалуйста не используйте команду ypinit для обновления карты.

Может быть вы захотите исправить crontab пользователя root *на подчиненном* сервере и добавить туда следующие строки:

      20 *    * * *    /usr/lib/yp/ypxfr_1perhour
      40 6    * * *    /usr/lib/yp/ypxfr_1perday
      55 6,18 * * *    /usr/lib/yp/ypxfr_2perday
Тогда вы будете уверены, что большинство карт NIS обновлены, даже если какое-нибудь обновление утеряно, потому что подчиненный сервер был выключен во время выполнения обновления на мастер-сервере.

Вы можете добавить подчиненный сервер позднее. Во первых, убедитесь, что новый подчиненный сервер имеет права на подключение к мастер-серверу NIS. Затем запустите

    % /usr/lib/yp/ypinit -s masterhost
на новом подчиненном сервере. На мастер-сервере добавьте имя нового подчиненного сервера в файл /var/yp/ypservers и запустите make в каталоге /var/yp для обновления карты.

Если вы хотите ограничить доступ пользователей к вашему серверу NIS, вы должны установить NIS сервер как клиент, запустив ypbind и добавить записи со знаком плюс в /etc/passwd _halfway_. Функции библиотеки будут игнорировать все обычные записи после первой записи NIS и будут получать остаток информации от NIS. Это способ обслуживания правил доступа NIS. Пример:

     root:x:0:0:root:/root:/bin/bash
     daemon:*:1:1:daemon:/usr/sbin:
     bin:*:2:2:bin:/bin:
     sys:*:3:3:sys:/dev:
     sync:*:4:100:sync:/bin:/bin/sync
     games:*:5:100:games:/usr/games:
     man:*:6:100:man:/var/catman:
     lp:*:7:7:lp:/var/spool/lpd:
     mail:*:8:8:mail:/var/spool/mail:
     news:*:9:9:news:/var/spool/news:
     uucp:*:10:50:uucp:/var/spool/uucp:
     nobody:*:65534:65534:noone at all,,,,:/dev/null:
     +miquels::::::
     +:*:::::/etc/NoShell
     [ All normal users AFTER this line! ]
     tester:*:299:10:Just a test account:/tmp:
     miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
Пользователь "tester" будет существовать, но у его интерпретатором команд будет /etc/NoShell. Пользователь miquels будет иметь нормальный доступ.

В противоположность этому, вы можете отредактировать файл /var/yp/Makefile и настроить NIS для использования другого файла паролей. На больших системах, файлы паролей и групп NIS обычно записываются в /etc/yp/. Если вы делаете это, то обычные инструменты администратора, которые работают с файлом паролей passwd, такие как chfn, adduser не будут работать корректно и вам понадобятся специальные инструменты.

Однако, yppasswd, ypchsh и ypchfn конечно же работать будут.

8.2 Программа-сервер yps

Для установки сервера NIS "yps" пожалуйста вернитесь к предыдущему параграфу. Сервер "yps" устанавливается сходным образом, _но_ он к нему нельзя применить те же инструкции в точности. "yps" не поддерживается автором и содержит некоторые дырки в безопастности. Лучше бы вам его не использовать.

Вы можете найти программное обеспечение "yps" по адресу:

  Site                  Directory                   File Name

  ftp.lysator.liu.se    /pub/NYS/servers            yps-0.21.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS    yps-0.21.tar.gz

8.3 Программа rpc.ypxfrd

rpc.ypxfrd - используется для увеличения скорости передачи очень больших карт NIS от мастер-сервера NIS к подчиненным серверам. Если подчиненный сервер NIS получает сообщение, что имеется новая карта, то он запускает pxfr для того чтобы ее получить. ypxfr будет читать содержимое карты от мастер-сервера, используя функцию yp_all(). Этот процесс может занять несколько минут, когда карты очень большие.

Сервер rpc.ypxfrd увеличивает скорость процесса передачи путем предоставления подчиненным серверам NIS возможности просто копировать файлы карт с мастер-сервера вместо того, чтобы строить свои собственные карты "с нуля". rpc.ypxfrd использует основанный на RPC протокол передачи файлов, так что подчиненные сервера не нуждаются в построении новых карт.

rpc.ypxfrd может быть запущен через inetd. Но таким образом он запускается очень медленно, он должен бы запускаться ypserv. Запуск rpc.ypxfrd будет вам нужен только на мастер-сервере NIS.

8.4 Программа rpc.yppasswdd

Когда пользователи изменяют собственные пароли, база данных паролей NIS и предположительно другие базы данных NIS, которые зависят от нее должны быть обновлены. Программа "rpc.yppasswdd" это сервер, который управляет изменением паролей и гарантирует, что информация NIS будет вовремя обновлена. В настоящий момент rpc.yppasswdd интегрирован в ypserv. Теперь вам не нужны отдельные yppasswd-0.9.tar.gz или yppasswd-0.10.tar.gz, и вы больше не должны их использовать. rpc.yppasswdd в ypserv 1.3.2 имеет полную поддержку теневых паролей. yppasswd теперь часть yp-tools-2.2.tar.gz.

Запуск rpc.yppasswdd нужен вам только на мастер-сервере NIS. По умолчанию, пользователям не разрешается изменять их собственные имена или интерпретатор команд. Вы можете позволить им это используя опции -e chfn или -e chsh.

Если ваши файлы passwd и shadow находятся в каталоге отличном от /etc, то вам нужно использовать опцию -D. Например, если вы поместили их в каталог /etc/yp и хотите разрешить пользователям изменять их интерпретаторы команд, то вы должны запустить rpc.yppasswdd со следующими параметрами:

   rpc.yppasswdd -D /etc/yp -e chsh
or

   rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh
Больше ничего делать не надо. Вы только должны убедится, что rpc.yppasswdd использует те же файлы что и /var/yp/Makefile. Ошибки будут протоколироваться в syslog.


Next Previous Contents


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют