Solaris 11 nsswitch.conf 搞砸了,需要从备用内核进行编辑

Solaris 11 nsswitch.conf 搞砸了,需要从备用内核进行编辑

好的,我正在编辑 name-service/switch 服务,弄乱了我的 nsswitch.conf,我用“passwd = filesasdf”覆盖了“passwd = files”,所以现在我在启动该内核时无法对服务器进行身份验证。但是,我可以启动到默认的 Solaris 11/11 内核,然后再次进行身份验证,问题在于已经进行了大量调整(并非全部由我完成,也不一定记录在案),我希望能够对该内核进行身份验证并继续进行调整/调优/学习等等。

问题是我不知道如何访问该备用内核上的服务(因为 Solaris 11 甚至不再使用 nsswitch.conf 文件)。我猜想它只是一个 ZFS 快照或保存较新内核的东西,因此它可能涉及安装该快照并编辑名称服务现在查找的任何文件(它是否必须在某个时候查看文件?)。

无论如何,我对 Solaris 也还很陌生,所以这算是一种冒险。

答案1

如果“引导到另一个内核”的意思是引导到备用引导环境 (BE),那么就引导到该内核,使用“beadm list”来确定哪个引导环境是您需要修复的引导环境,然后挂载它。

    beadm mount beName mountpoint

例如,如果您损坏的引导环境是“solaris-2”,并且您有一个正常工作的“solaris-1”引导环境,则引导到 solaris-1,然后运行:

beadm mount solaris-2 /mnt

然后,您可以将正在工作的 BE 的 nsswitch cp 到损坏的 BE 的 conf 中。

cp /etc/nsswitch.conf /mnt/etc/nsswitch.conf

然后,重新启动,从 Grub 中选择“solaris-2”BE,就可以了。

答案2

I can however just boot to the default Solaris 11/11 kernel and auth again just fine

... 因此启动该内核并消除你对 造成的损害/etc/nsswitch.conf
问题解决了。这将花费你五美元,查理·布朗。


如果您的系统受到攻击以致无法登录,请以单用户模式启动并修复该文件。

相关内容