Карта сетевой группы NIS пуста для клиента NIS
У нас была авария на главном сервере NIS и устаревшая резервная копия для нее, но были некоторые подчиненные. До сих пор я был назначен на должность без каких-либо знаний NIS, за исключением нескольких основ.
Я выгрузил каждую карту с помощью ypcat от старого ведомого устройства, настроил компьютер SLES11, добавил эти файлы в / var / yp / ypfiles, указал на него yast2 nis_server и настроил весь механизм, включая две новые машины в качестве ведомых, - также SLES11.
Затем я взял более старую машину, указал на мой новый NIS-сервер и попробовал авторизацию. Как только я узнал, что по каким-то причинам вам пришлось активировать теневые пароли - и старые карты были старше 10 лет без теневых паролей, аутентификация работала до сих пор.
Тем не менее, netgroup не работает на другой машине. 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 ничего не возвращает на новом сервере, а все через старого ведомого?
1 ответ
Хорошо, очевидно, SLES11 использует две исходные папки для генерации своих данных. Частично тот, который вы указали во время установки yast, и частично тот, что в /etc.NETgroup вместе с другими файлами извлекается из /etc. Файлы вроде passwd, group и shadow не являются.
Таким образом, путаница пустой сети. Вот почему добавление +:::::: в /etc/netgroup также не дало никаких результатов.
Чтобы исправить это поведение, отредактируйте в /var/yp/Makefile
YPSRCDIR = /etc
в
YPSRCDIR = /foo/your/ypfiles)
Примечание. YPPWDDIR получает исходный каталог из некоторых скриптов. Копирование этой строки в YPSRCDIR может быть более чистым решением.
Кроме того, это решение несколько грязное, так как это восстановление из сломанного мастера NIS без резервного копирования, только из дампов подчиненного сервера ypcat и всего, что помещено в одну папку на другой ОС, чем раньше... Мне пришлось восстановить сетевую группу файл целиком, используя его устаревшую версию из предыдущей спонтанной копии, которую я сделал много лет назад. Это заняло у меня несколько дней из-за большой длины, хотя Notepad++ мне там очень помог.
Мораль истории: правильные резервные копии и проверки на них действительно ДЕЙСТВИТЕЛЬНО важны.