У нас был сбой главного сервера 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 ++ мне очень помог.
Мораль истории: Правильное резервное копирование и проверка ДЕЙСТВИТЕЛЬНО важны.