Содержание

Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal

Локальный запуск приложений (продолжение)

Работа службы NIS довольно специфична, а поэтому для ее правильной работы необходимо, чтобы все узлы локальной сети обращались к одному NIS-серверу и были ассоциированы с одним NIS-доменом. Правда, к домену DNS NIS-домен никакого отношения не имеет, - это два совершенно разные понятия.

NIS_DOMAIN – указывает на домен NIS (не путать с DNS-доменом);

NIS_SERVER – указывает адрес сервера, на котором работает служба NIS, позволяет использовать локальный запуск приложений даже тогда, когда служба NIS работает на сервере, отличном от сервера Х-терминалов.

Система NIS работает в архитектуре клиент-сервер. Так, на сервере запущен сервис-демон ypserv, а на клиенте (в нашем случае Х-терминале) программа ypbind. Когда клиентскому компьютеру нужна информация по проверке аутентификации пользователя или получения его домашнего каталога, то ypbind обращается к ypserv посредством специального протокола. Для того, чтобы эта система работала, необходимо настроить службу NIS на сервере.

Если вы уже используете NIS, тогда все в порядке, в противном случае приступаем к его настройке. В первую очередь, проверяем установлены ли пакеты NIS:

$ rpm -qa | grep ypserv

При получении неутешительного ответа устанавливаем его на сервер такой командой:

# rpm -ihv ypserv-2.6-2.i386.rpm
Preparing...                ########################################### [100%]
   1:ypserv                 ########################################### [100%]

Главным конфигурационным файлом сетевой информационной службы является файл /etc/ypserv.conf, содержимое которого представлено ниже:

#
# ypserv.conf	In this file you can set certain options for the NIS server,
#		and you can deny or restrict access to certain maps based
#		on the originating host.
#
#		See ypserv.conf(5) for a description of the syntax.
#

# Some options for ypserv. This things are all not needed, if
# you have a Linux net.

# Should we do DNS lookups for hosts not found in the hosts table ?
# This option is ignored in the moment.
dns: no

# How many map file handles should be cached ?
files: 30

# xfr requests are only allowed from ports < 1024
xfr_check_port: yes

# The following, when uncommented,  will give you shadow like passwords.
# Note that it will not work if you have slave NIS servers in your
# network that do not run the same server as you.

# Host                     : Domain  : Map              : Security 
#
# *                        : *       : passwd.byname    : port 
# *                        : *       : passwd.byuid     : port

# Not everybody should see the shadow passwords, not secure, since
# under MSDOG everbody is root and can access ports < 1024 !!!
*			   : *       : shadow.byname    : port
*			   : *       : passwd.adjunct.byname : port

# If you comment out the next rule, ypserv and rpc.ypxfrd will
# look for YP_SECURE and YP_AUTHDES in the maps. This will make
# the security check a little bit slower, but you only have to
# change the keys on the master server, not the configuration files
# on each NIS server.
# If you have maps with YP_SECURE or YP_AUTHDES, you should create
# a rule for them above, that's much faster.
# *                        : *       : *                : none

Если в вашей сети не будет использоваться специфическая настройка NIS, то давайте оставим в нем все как есть.

Теперь следует установить имя NIS-домена для нашего сервера. Сделать это можно командой:

# domainname <имя домена NIS>

Или, чтобы доменное имя было всегда доступно после загрузки сервера добавить в файл /etc/sysconfig/network такую строчку:

NISDOMAIN="<имя домена NIS>"

Для того, чтобы предоставить некоторые файлы для общего доступа, используется файл /var/yp/Makefile, который и определяет, что экспортировать, а что нет. Приводить все содержимое этого файла в данной книге нет необходимости, но вы должны обратить внимание на такие его строки:

# If you don't want some of these maps built, feel free to comment
# them out from this list.

all:  passwd group hosts rpc services netid protocols mail \
	# netgrp shadow publickey networks ethers bootparams printcap \
	# amd.home auto.master auto.home auto.local passwd.adjunct \
	# timezone locale netmasks

Они означают какие сервисы будут доступны удаленным NIS-клиентам от вашего сервера. В данном примере будут экспортироваться для совместного использования: passwd group hosts rpc services netid protocols mail. Если вы считаете, что некоторые из них вам не нужны, то просто закомментируйте их.

Настало время запустить сервер NIS. Делаем это командой:

# /sbin/service ypserv start
Starting YP server services:                                  [    OK    ]

Если запуск сервера NIS прошел успешно, самое время удостовериться, что он будет запускаться автоматически при включении сервера. Для этого достаточно выполнить команду:

$ /sbin/chkconfig --list  ypserv
ypserv          0:off   1:off   2:off   3:off   4:off   5:off   6:off

Как видите, в данном примере сервер NIS не настроен на автоматический старт. Исправить положение поможет команда:

# /sbin/chkconfig ypserv --level 5 on

После успешного выполнения запуска демона ypserv, необходимо инициализировать первичный NIS-сервер. Для этого используется такая команда:

# /usr/lib/yp/ypinit -m

Далее на запрос программы следует перечислить имена хостов, на которых будут работать NIS-серверы. Закончив ввод этого списка, необходимо нажать комбинацию клавиш Ctrl+D:

At this point, we have to construct a list of the hosts which will run NIS
servers.  admin.alker.net is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a .
        next host to add:  admin.alker.net
        next host to add:

А также подтвердить правильность указания списка узлов:

The current list of NIS servers looks like this:

admin.alker.net

Is this correct?  [y/n: y]  y

Через несколько секунд формирование базы данных NIS будет окончено, о чем свидетельствуют такие строки на экране:

We need a few minutes to build the databases...
Building /var/yp/alker.trast.net/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/alker.trast.net'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
gmake[1]: Leaving directory `/var/yp/alker.trast.net'

admin.alker.net has been set up as a NIS master server.

Now you can run ypinit -s admin.alker.net on all slave server.

Если в процессе выполнения команды ypinit произошли ошибки, то это указывает либо на неточности в файле /var/yp/Makefile, либо на неправильную настройку сервисов, которые экспортируются. После исправления допущенных ошибок, необходимо повторно произвести запуск утилиты ypinit.

Пока интересно, читаем дальше!

Авторское право © Сеник Николай, 2004-2006