如何以超级用户身份运行 cd

如何以超级用户身份运行 cd

我想从终端 cd 进入目录,但访问被拒绝,并且输入sudo cd (directory)返回错误,提示 sudo 不支持 cd 命令。我可以使用sudo gnome-terminal以 root 权限启动新的终端窗口,但我想要一个可以从同一个非 root 终端窗口使用的解决方案。有没有办法让 cd 命令与 sudo 兼容?

答案1

恐怕无法直接使用cdwith 。例如,可以调用可执行文件,但它是 shell 的内置命令。换句话说,有一个文件包含( ) 的可执行脚本,但没有 的文件,因此您无法使用with 。sudosudosudo lscdls/bin/lscdcdsudo

答案2

嗯,你当然可以运行以下命令:

sudo sh -c "cd somedirectory"

从技术上讲,您将更改已启动子 shell 的当前目录。问题是子 shell 将立即退出,而您的主 shell 的目录不会发生更改。

主要问题是如果您无法cd进入目录,则无法使用当前帐户在其中运行 shell。

一种解决方法是切换到具有此权限的用户帐户,root 当然是最简单的选择:

sudo sh -c "cd somedirectory; sh"

相关内容