如何在nis passwd文件中添加root用户?

其中一个系统pipe理员意外地将/ etc / passwd放在一边… doh! 从备份还原文件不起作用…因为root用户不存在,所以出错。

我有NIS运行在这个网站和服务passwd /组/影子文件,我试图添加一个root用户,但我不能得到这propogate(我试着MINUID和MINGID不同的值)。 我明白为什么NIS想要避免做这样的事情,但是,errrm,帮助!

服务器正在运行CentOS 5.6,它没有CD / DVD驱动器,所以我不能重新启动救援CD。

有什么build议么?

我确信有一些方法可以让root用户login到它,但是如果你不得不在最短的时间内重新开始工作,那么我的方法就是使用USB盘或者USB光盘驱动器你可以用救援光盘启动; 其中任何一个应该是随时可用的,当你find一种方法来使用一个聪明的解决方法,你可能已经从当地的零售商驱动器和下载一个救援发行在您的桌面上等待。

你没有提到服务器上的更多信息,但有可能没有运行RAID(或者系统驱动器不是RAIDED)? 如果是这种情况,您可以卸下驱动器并将其安装在另一个系统中,并在那里更改文件。 根据系统的重要性,您可以尝试在另一个系统中安装驱动器和控制器,以将整个RAID卷作为另一个驱动器。

您可能需要考虑将USB驱动器备份到未来针对该服务器的恢复过程中。 这次你的问题可能是人为错误,但这并不排除将来驱动腐败造成类似的问题。

您可以尝试临时编辑NIS主服务器上的NIS Makefile。 它现在说的地方

passwd.byname: $(PASSWD) $(SHADOW) $(YPDIR)/Makefile        @echo "Updating $@..."        @$(UMASK); \        $(MERGER) -p $(PASSWD) $(SHADOW) | \           $(AWK) -F: '!/^[-+#]/ { if ($$1 != "" && $$3 >= $(MINUID) && $$3 !=$(NFSNOBODYUID)) \           print $$1"\t"$$0 }' | $(DBLOAD) -i $(PASSWD) \                -o $(YPMAPDIR)/$@ - $@        -@$(NOPUSH) || $(YPPUSH) -d $(DOMAIN) $@ 

尝试更改该awk行来删除MINUIDNFSNOBODYUID的testing,例如

  $(AWK) -F: '!/^[-+#]/ { if ("" == "") \ 

和passwd.byuid的部分类似,重新制作passwd映射,并查看是否现在使用ypcat passwd在根目录中。