有一个目录 'dir1',其所有者是 root:root。Stat 显示:
Access: (0750/drwxr-x---) Uid: ( 0/ root) Gid: ( 0/ root)
当我以 root 身份登录时,id
显示:
uid=0(root) gid=0(root) groups=0(root)
但是当我尝试cd
进入该目录时,我得到:
-bash: cd: dir1/: Permission denied
有什么想法为什么会发生这种情况以及如何解决?
答案1
也许是 SELinux?
尝试检查
ls -ladZ dir1
或者尝试暂时禁用 SELinux
setenforce 0
# To emable "setenforce 1"
答案2
有问题的目录是否托管在 NFS 上?如果是这样,您可能会发现 root:root 被映射到服务器上更安全的用户(例如 nobody:guest)。
如果您有权访问服务器,并希望远程用户拥有 root 权限,则需要将选项添加no_root_squash
到相关导出中/etc/exports
。我强烈建议您在执行此操作之前阅读文档。
答案3
该目录没有执行权限,该权限控制列出其内容并进入其中。首先chmod +x
,然后cd
进入其中。
另一种可能性是使用 ACL。它有时会产生奇怪的错误。尝试一下,cat /etc/fstab | grep acl
如果存在,请尝试getfacl dir1
。