当前位置: 首页>>技术问答>>正文


如果’cd’命令有700个权限并且不属于我,那么如何使用’cd’命令输入目录?

, , , ,

问题描述

我尝试使用sudo cd name_of_dir但收到错误消息:

sudo: cd: command not found

有没有其他方法可以输入拥有700权限的其他用户拥有的目录?

最佳解决方法

sudo cd无法正常工作,因为cd命令内置于shell中。所以你说成为root然后运行这个命令。你成为root,然后搜索sudo之后的命令,但没有找到cd命令。

使用的方法是切换到拥有该目录的用户。权限700表示“所有者可以读取,写入和执行”。

因此,如果root拥有目录sudo -i,则密码然后是cd {dir}是唯一正确的方法。如果其他人拥有该目录,您仍然可以使用第一种方法,但也可以使用su {username}更改为该用户,然后使用cd作为该用户。

次佳解决方法

sudo -i

然后打开”root console”

cd /path/to/directory

(cd是一个shell内置命令,所以它不能是sudo目标)

第三种解决方法

要打开根目录,我们可以运行root shell,例如:

sudo su
# cd /root

第四种方法

正如其他人指出的那样 – 它的 shell 是内置:

~ % which cd
cd: shell built-in command

那么,你为什么不sudo shell本身呢?

~ % sudo $SHELL -c "cd name_of_dir"

第五种方法

您还可以通过以下方式将自己提升为root用户:

sudo -s

然后你可以cd到任何不允许普通用户的目录:

cd /root

要么

cd /var/lib/

在你完成之后输入:

exit

注销root用户权限。

为了以root身份提升自己,您还可以通过&&运算符组合这两个命令,如果当前命令成功执行并且只允许执行下一个命令,则此运算符也会保持其执行顺序:

sudo -s && cd /var/lib

要么

sudo -s && cd /root

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1802.html,未经允许,请勿转载。