user274885 Asked: 2018-02-08 21:46:49 +0800 CST2018-02-08 21:46:49 +0800 CST 2018-02-08 21:46:49 +0800 CST bash 中的 sudo su 错误“无法执行帮助:没有这样的文件或目录” 772 我安装了 zsh 并将 root shell /bin/bash 更改为 /usr/bin/zsh。然后我重新启动并输入 sudo su。它说“无法执行帮助:没有这样的文件或目录”。所以,我输入了 sudo bash。但是,当我输入“echo $SHELL”时,它说根 shell 是“帮助”。我怎样才能解决这个问题? bash root 1 个回答 Voted Best Answer Kusalananda 2018-02-08T22:28:45+08:002018-02-08T22:28:45+08:00 错误消息Cannot execute help: No such file or directory表明 root 的登录 shell 已设置为help而不是有效的 shell。 您可以通过发出正确的chsh命令来解决此问题: sudo chsh -s /bin/bash root 或通过编辑 root 的登录记录在/etc/passwd. 这个文件必须用vipw(永远不要直接)编辑: sudo vipw 在大多数 Linux 系统上,使用时在编辑器中打开的文件中的 root 条目vipw应该类似于 root:x:0:0:root:/root:/bin/bash 您应该确保最后一个:-delimited 字段是系统上 root 登录 shell 的正确路径,如果不是,请在编辑器中更改它。然后保存文件并退出。 请注意,更改 root 的登录 shell 绝对没有任何好处,因为您不应该发现自己以 root 身份登录或在任何时间长度内使用交互式 root shell。 您可能需要在系统上执行的任何管理任务都可以使用sudo后跟您需要执行的命令来执行。 另外不需要使用suwith sudo。问题的答案中对此进行了讨论,Is there ever a good reason to run sudo su?
错误消息
Cannot execute help: No such file or directory
表明 root 的登录 shell 已设置为help
而不是有效的 shell。您可以通过发出正确的
chsh
命令来解决此问题:或通过编辑 root 的登录记录在
/etc/passwd
. 这个文件必须用vipw
(永远不要直接)编辑:在大多数 Linux 系统上,使用时在编辑器中打开的文件中的 root 条目
vipw
应该类似于您应该确保最后一个
:
-delimited 字段是系统上 root 登录 shell 的正确路径,如果不是,请在编辑器中更改它。然后保存文件并退出。请注意,更改 root 的登录 shell 绝对没有任何好处,因为您不应该发现自己以 root 身份登录或在任何时间长度内使用交互式 root shell。
您可能需要在系统上执行的任何管理任务都可以使用
sudo
后跟您需要执行的命令来执行。另外不需要使用
su
withsudo
。问题的答案中对此进行了讨论,Is there ever a good reason to run sudo su?