[linux]非root账户 sudo cd 无法切换目录解决办法

在Centos上有个账户A(非root),有sudo权限(权限比较大),想要用 cd 命令切换到 B账号的 /home/B 下的目录,结果没作用

[liuzz ~]$ sudo cd /home/xiejl/
[liuzz ~]$

sudo cd 无法使用是因为 cd 是 bash 的内置命令。sudo 让A变成了root,然后 bash 再去查找 sudo 后面跟着的命令,然而找不到cd这个命令,所以也就无法执行成功了。 –来源于这个回答 How to enter a directory with the ‘cd’ command if it has 700 permission and is not owned by me?

但是把 centos7 有点打脸

$ which cd
/usr/bin/cd

然后我有找到一个说法,说是别人的 home目录没有执行权限,我去看了下

# ll /home/
总用量 12
drwx------  14 xiejl   xiejl   4096 525 11:16 xiejl

# chmod +x /home/xiejl
[liuzz ~]$ cd /home/xiejl/
[liuzz xiejl]$ ls

看起来是这么回事啊,但是在进入到 sudo cd /home/xiejl/ 的子目录还是不行。 还是没有全弄懂,如果你知道,请告诉我下,感谢。

解决办法,两个都好使

[liuzz ~]$ sudo -i
[root ~]# cd /home/xiejl/

或者

[liuzz@elm-cha-hk-cnc-cache-001 ~]$ sudo -s
[root@elm-cha-hk-cnc-cache-001 liuzz]# cd /home/xiejl/

猜你喜欢

转载自blog.csdn.net/lzz957748332/article/details/80465751