![如果目录具有 700 权限且不属于我,如何使用“cd”命令进入该目录?](https://linux22.com/image/1035845/%E5%A6%82%E6%9E%9C%E7%9B%AE%E5%BD%95%E5%85%B7%E6%9C%89%20700%20%E6%9D%83%E9%99%90%E4%B8%94%E4%B8%8D%E5%B1%9E%E4%BA%8E%E6%88%91%EF%BC%8C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E2%80%9Ccd%E2%80%9D%E5%91%BD%E4%BB%A4%E8%BF%9B%E5%85%A5%E8%AF%A5%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
我尝试使用sudo cd name_of_dir
但收到错误消息:
sudo: cd: command not found
还有其他方法可以进入具有 700 权限的另一个用户拥有的目录吗?
答案1
sudo cd
不起作用,因为该cd
命令内置于 shell 中。所以您说成为 root 然后运行此命令。您成为 root 然后搜索 sudo 之后的命令,但没有cd
找到命令。
使用的方法是切换到拥有该目录的用户。权限700
意味着“所有者可以读取、写入和执行”。
因此,如果 root 拥有目录sudo -i
,则输入密码,然后输入密码cd {dir}
是唯一正确的方法。如果其他人拥有该目录,您仍然可以使用第一种方法,但也可以更改为该用户,su {username}
然后cd
以该用户身份使用。
答案2
sudo -i
打开“根控制台”,然后
cd /path/to/directory
(cd
是 shell 内置命令,因此它不能是 sudo 目标)
答案3
要打开根目录,我们可以运行 root shell,例如:
sudo su
# cd /root
答案4
您还可以通过以下方式将自己提升为 root 用户:
sudo -s
然后你可以 cd 到任何不允许普通用户进入的目录,例如:
cd /root
或者
cd /var/lib/
然后完成之后输入:
exit
注销root用户权限。
为了将自己提升为 root,您还可以&&
像下面这样通过运算符组合这两个命令,该运算符还保持它们的执行顺序,如果当前命令执行成功,则只允许执行下一个命令:
sudo -s && cd /var/lib
或者
sudo -s && cd /root