有时我会对自己搞砸事情的能力感到自豪:我用 chsh 命令更改了 root 的默认 shell,问题是我忘记输入完整路径了。现在我无法以 root 身份登录。是否有某个文件可以编辑以更改 root 的默认 shell?
答案1
是的,它位于 中/etc/passwd
,但您需要以 root 身份登录才能更改它。您说您现在无法登录,但更改之前您是否还保留着活动 root 窗口?
答案2
用户的 shell 在 中指定/etc/passwd
,它是每行中的最后一项;例如:
root:x:0:0:root:/root:/bin/bash
在这种情况下,shell 是/bin/bash
。
当然,您必须以 root 身份登录才能编辑它,这对您来说可能有点困难。如果您在系统上有其他用户帐户,您可以以其中一个用户帐户登录,然后以sudo
root 身份编辑文件。
答案3
您可以编辑该/etc/passwd
文件并将第一行更改为如下内容:
root:x:0:0:root:/root:/bin/bash
答案4
如果是 VPS,请要求公司关闭 VM 并从 Domain0 挂载您的分区并修改您的 /etc/passwd 文件(我猜他们在 Xen 上提供 VM)。