Назад | Перейти на главную страницу

Карта сетевой группы NIS пуста для клиента NIS

У нас был сбой главного сервера NIS и устаревшая резервная копия для него, но несколько подчиненных. Я был назначен ответственным без каких-либо знаний о NIS, за исключением нескольких основ.

Я сбросил каждую карту через ypcat со старого ведомого устройства, настроил машину SLES11, добавил эти файлы в / var / yp / ypfiles, указал на нее yast2 nis_server и настроил все оборудование, включая две новые машины в качестве ведомых - также SLES11.

Затем я взял старую машину, указал ее на свой новый NIS-сервер и попробовал auth. Как только я узнал, что по каким-то причинам вам нужно активировать теневые пароли - а старым картам без теневых паролей было лет 10+, auth пока работал.

Однако сетевая группа не работала на другом компьютере. ypcat netgroup дал мне пустую строку, ypcat netgroup.byhost вообще никакой строки, то же самое для .byuser.

Я добавил + :::::: в конец пустой / etc / netgroup без всякой разницы. Я запустил make в / var / yp - шансов нет.

/ etc / nsswitch с сервера:

passwd:         compat
group:          compat nis

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files dns

services:       files nis
protocols:      files
rpc:            files
ethers:         files
netmasks:       files
netgroup:       nis
publickey:      files

bootparams:     files
automount:      files
aliases:        files nis
shadow:         compat

/etc/nsswitch.conf из тестового клиента NIS:

passwd:     files nis
shadow:     files nis
group:      files nis

hosts:      files nis dns

bootparams: files
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files
netgroup:   files nis
publickey:  files
automount:  files
aliases:    files

Так что да, почему ypcat netgroup ничего не возвращает на новом сервере, а только через старый подчиненный сервер?

Хорошо, очевидно, SLES11 использует две исходные папки для генерации своих данных. Частично тот, который вы указали во время установки yast, а частично - в / etc. netgroup вместе с другими файлами извлекаются из / etc. Такие файлы, как passwd, group и shadow - нет.

Таким образом, путаница с пустой сетевой группой. Вот почему добавление + :::::: в / etc / netgroup тоже не имело никакого эффекта.

Чтобы исправить это поведение, отредактируйте в / var / yp / Makefile

YPSRCDIR = /etc

к

YPSRCDIR = /foo/your/ypfiles)

Заметка: YPPWDDIR получает свой исходный каталог из некоторого скрипта. Копирование этой строки в YPSRCDIR может быть более чистым решением.

Кроме того, это решение в целом немного грязное, так как это восстановление со сломанного мастера NIS без резервной копии, только из дампов подчиненного сервера ypcat и всего, что помещено в одну папку на другой ОС, чем раньше ... Мне пришлось восстановить сетевую группу файл полностью, используя его сильно устаревшую версию из предыдущей спонтанной копии, которую я сделал много лет назад. Мне потребовалось несколько дней из-за огромной длины, хотя Notepad ++ мне очень помог.

Мораль истории: Правильное резервное копирование и проверка ДЕЙСТВИТЕЛЬНО важны.