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

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

[liuzz ~]$ sudo cd /home/xiejl/
[liuzz ~]$
1
2
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
1
2
然后我有找到一个说法,说是别人的 home目录没有执行权限,我去看了下

# ll /home/
总用量 12
drwx------ 14 xiejl xiejl 4096 5月 25 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/

————————————————
版权声明:本文为CSDN博主「orangleliu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/orangleliu/article/details/80465751

posted @ 2022-07-12 19:36  易先讯  阅读(1826)  评论(0编辑  收藏  举报