Home News

Служба каталогов NIS | Сетевые технологии

05.09.2018

видео Служба каталогов NIS | Сетевые технологии

NIS Server configuration with NFS and AUTOFS in Linux(Linux Project)

Сервис Network Information System (NIS) - служба каталогов, ориентированная на использование в изолированных сетях под управлением UNIX/Linux систем.


Unix/Linux Directory Services

Цель работы : Использование Network Information System (NIS) для централизованного управления разделяемыми ресурсами локальной сети.

Задания для выполнения

Проверьте доступность узлов tester.asoiu, hackme.asoiu, repo.asoiu. Проверьте наличие portmap. Если не установлен - установите. Установите пакеты ypbind и yp-tools (устанавливается совместно с ypbind) Сконфигурируйте и запустите демон ypbind. Выясните, какие порты используют программы portmapper и ypbind в сконфигурированной вами системе. Установите ypbind как сервис на 3 и 5 уровнях запуска. Просмотрите ресурсы карты passwd (обратите внимание на пути к домашнему каталогу). Сколько пользователей зарегистрированы в NIS? Какой минимальный идентификатор пользователя (UID)? Перезагрузите компьютер и выполните вход в систему под одной из учетных записей пользователей NIS (в учебных целях пароли совпадают с логинами). Объясните причины появления ошибок (если они возникли) при входе пользователя. Получите список карт ресурсов NIS, представляемых сервером nis.asoiu. Просмотрите ресурсы карты hosts. Какие сетевые имена у узла с адресом 194.188.210.199? Проверьте доступность узлов (по именам), перечисленных в карте hosts. Сравните результаты с результатами, полученными в п.1. Используйте команду yppaswd для изменения полного имени (не логина), дополнительной информации (GECOS) и пароля текущего пользователя (см. man yppasswd). Используйте команду finger для получения развернутых сведений о пользователях сети (см. man finger). ОБЯЗАТЕЛЬНО! Верните все сделанные в ходе лабораторной работы изменения системы к исходным, в т.ч. удалите ypbind, yp-tools и finger. Составьте отчет о выполнении работы.

Указания к лабораторной работе

Назначение, функции и принципы работы NIS приведены в этой лекции . Лабораторная работа не предусматривает установку и настройку серверной части NIS. Это означает, что в сети должен быть хотя бы один действующий NIS-сервер, информацию о котором представляет преподаватель.


NIS (Network Information Service) Training P1

ВНИМАНИЕ: в текущей сети NIS-сервер работает на хосте с адресом 194.188.210.254. Имя сервера — nis.asoiu.

Для настройки системы в качестве клиента NIS необходимо войти в систему с правами суперпользователя (или использовать su/sudo).

Для начала необходимо проверить, что необходимое ПО установлено или может быть установлено. Для этого нужно использовать программу управления пакетами, соответствующую вашей системе. Так, для дистрибутивов Linux на основе RedHat packet manager (.rpm) можно использовать команду вида:

rpm -q <имя-пакета>

Например:

[email protected] # rpm -q portmap portmap-6.0+git20070716-38.1 <—результат выполнения

Установить программы portmaper, ypbind и yp-tools (набор пользовательских программ NIS: ypwhich, ypcat, yppasswd, yppoll, ypmatch) можно с помощью того же rpm:

rpm -ivh <имя-файла-пакета.rpm>

Однако удобнее выполнять установку из программ типа yum, zypper, yast или synaptic. Пример установки для OpenSuSE (подразумевается, что репозитории ПО настроены и подключены):

[email protected] # zypper install ypbind Чтение установленных пакетов... Будет установлен следующий НОВЫЙ пакет: ypbind Полный размер загрузки: 39,0 K. После этой операции будет использовано дополнительно 72,0 K. Продолжить? [да/нет]: yes Загружается пакет ypbind-1.21-16.1.i586 (1/1), 39,0 K (72,0 K нераспакованный) Загружается: ypbind-1.21-16.1.i586.rpm [готово] Устанавливается: ypbind-1.21-16.1 [готово]

Проверить, что демон portmap установлен и запущен можно командой rpcinfo:

rpcinfo -p localhost

Если portmap не установлен в системе, его необходимо установить (в обычном порядке), а затем запустить как системный сервис. Это можно сделать например так (rpm-based дистрибутивы):

[email protected] # service portmap start Starting RPC portmap daemon done

Аналогичным образом запускается и клиентская служба NIS - демон ypbind. Но прежде чем запускать его, нужно выполнить базовую настройку. Это сводится к правке конфигурационного файла (/etc/yp.conf), файлов passwd, nsswitch.conf и других (в зависимости от требуемой конфигурации NIS). Кроме того, до запуска ypbind, необходимо указать имя домена NIS.

В файл настроек /etc/yp.conf нужно ip-адреса серверов NIS. Пример:

ypserver 192.168.0.1

Если в сети имеется сервис DNS и система может получить имена серверов (отрезолвить) без использования NIS, то в yp.conf можно использовать доменное имя, иначе - придется использовать ip-адрес.

По умолчанию вся информация о доступных клиенту сервисах NIS размещается в каталоге /var/yp. Если он не существует, то нужно создать его.

Следующий шаг - указание домена, к которому будет принадлежать клиентский хост. Это выполняется командой domainname, например так:

domainname <nis.domain>

где nis.domain - имя существующего в сети NIS-домена (в нашем случае - nis.asoiu ). В целях обеспечения безопасности это имя должно отличаться от DNS-имени сервера NIS.

Теперь можно запускать ypbind в качестве сервиса:

[email protected] # service ypbind start

Для проверки того, что ypbind работает можно использовать команду rpcinfo (см. выше ) или, например, service:

[email protected] # service --status-all | grep ypbind ... Checking for NIS client program: ..running

Если будет выведено нечто подобное, значит установка и начальная настройка клиента NIS прошли успешно и можно использовать клиентские программы NIS, таких как ypcat, ypwhich и т.д.

Для автоматического запуска демонов portmap и ypbind стоит добавить их в автозагрузку. Это можно сделать например так:

## установить запуск ypbind на 3 и 5 уровнях (runlevel's) [email protected] # chkconfig -s ypbind 35

Использование NIS

Для просмотра ресурсов NIS предназначена программа ypcat. Программа позволяет просмотреть как список доступных карт, так и ресурсы указанной карты. Имя карты может быть задано как полное, так и сокращенное (alias). Примеры использования ypcat:

[email protected] # ypcat -x <— получение списка карт Use "ethers" for map "ethers.byname" Use "aliases" for map "mail.aliases" Use "services" for map "services.byname" Use "protocols" for map "protocols.bynumber" Use "hosts" for map "hosts.byname" Use "networks" for map "networks.byaddr" Use "group" for map "group.byname" Use "passwd" for map "passwd.byname" [email protected] # ypcat hosts <— ресурсы карты hosts 194.188.210.254 edu.asoiu 194.188.210.199 tester.asoiu tester 127.0.0.1 localhost 194.188.210.199 tester.asoiu tester 194.188.210.199 hackme.asoiu

Для получения имени сервера NIS предназначена программа ypwhich.

[email protected] # ypwhich tester.asoiu

Программа yppoll возвращает версию карты и имя мастер-сервера NIS, представившего эту карту.

[email protected] # yppoll hosts.byname Domain nis.asoiu is supported. Map hosts.byname has order number 1254796444. [Tue Oct 6 09:34:04 2009] The master server is tester.asoiu.

Команда ypmatch выдает значения одного или более ключей из карты NIS.

[email protected] # ypmatch nisuser passwd nisuser:hsB.xq3nXoULk:1002:100:lexa:/home/nisuser:/bin/bash

За более подробной информацией по каждой утилите обратитесь к соответствующим man-страницам.

Файл /etc/nsswitch.conf указывает системе, где она должна искать требуемую информацию, например, имена хостов и логины пользователей. Можно использовать этот файл для управления порядком (или приоритетом), в котором просматриваются базы данных и обрабатываются ошибки.

Примерное содержание файла /etc/nsswitch.conf для NIS может быть таким:

# # /etc/nsswitch.conf sample passwd: nis files group: nis files shadow: nis files hosts: nis files dns networks: nis [NOTFOUND=return] files netmasks: nis [NOTFOUND=return] files services: nis [NOTFOUND=return] files protocols: nis [NOTFOUND=return] files rpc: nis [NOTFOUND=return] files ethers: nis [NOTFOUND=return] files netgroup: nis bootparams: nis [NOTFOUND=return] files publickey: nis [NOTFOUND=return] files automount: files aliases: nis [NOTFOUND=return] files

Для управления пользователями, которым разрешен вход на клиентскую машину нужно отредактировать файл /etc/passwd. Например, для разрешения входа всем пользователям следует добавить такую строчку:

+::::::

Символы "+" и "-" соответственно разрешают или блокируют пользователей. Здесь же можно изменить пользовательскую оболочку и прочую информацию о пользователях. Поля, которые не нужно изменять должны оставаться пустыми.

Например, для того, чтобы разрешить вход в систему только пользователям miquel, alex и ed, и всем членам сетевой группы sysadmin, но при этом чтобы была доступна информация о всех других пользователях, passwd нужно изменить так:

+miquel::::::: +alex::::::: +ed:::::::/bin/sh <—для этого пользователя оболочкой будет sh, а не bash +@sysadmins::::::: <—разрешаем вход пользователям из группы sysadmins -ftp <—запрещаем вход для этого пользователя +:*::::::/etc/NoShell <—отключаем оболочку для всех прочих пользователей

В указанном примере определена cетевая группа (sysadmins). Информация о ней должна быть занесена в файл /etc/netgroup (см. комментарии в файле /etc/netgroup). Пример описания сетевой группы:

sysadmins (-,software,) (-,mazzy,) (-,got,)

При настройке параметров входа надо соблюдать осторожность. Если сделан доступным администраторский пароль и логин, как и логин/пароль других пользователей, то не следует использовать при неудачном поиске пары значений логин/пароль опцию 'return' (см. man nsswitch.conf). Подобная конфигурация блокирует вход всем пользователям (в т.ч. и суперпользователю), чьи учетные записи не входят в NIS.

Контрольные вопросы

Какие карты ресурсов доступны и имеют отображения в домене сервера nis.asoiu? О каких пользователях можно изменить информацию с помощью команды ypasswd?

Постоянный адрес этой страницы:

rss