linux – 即使权限正确,“权限拒绝”将CD转换为目录

前端之家收集整理的这篇文章主要介绍了linux – 即使权限正确,“权限拒绝”将CD转换为目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这太奇怪了.以用户’g’登录Linux(RHEL)框,执行ls -lah演示
drwxrwxrwx 6 g    g    4.0K Jun 23 13:27 .
drwxrw-r-x 6 root root 4.0K Jun 23 13:15 ..
-rwxrw---- 1 g    g     678 Jun 23 13:26 .bash_history
-rwxrw---- 1 g    g      33 Jun 23 13:15 .bash_logout
-rwxrw---- 1 g    g     176 Jun 23 13:15 .bash_profile
-rwxrw---- 1 g    g     124 Jun 23 13:15 .bashrc
drw-r----- 2 g    g    4.0K Jun 23 13:25 .ssh

因此组’g’/中的用户’g’应该/能够读取和写入.ssh目录但是如果我做ls -lah .ssh /我得到ls:.ssh /:Permission denied.如果我尝试捕获目录中的任何文件,我也会被拒绝权限

如果我以root用户身份进入并将权限更改为700,744,766或任何内容,只要“用户”权限为7就可以正常工作,我可以对其中的目录和文件进行CD和LS.

id g返回

uid=504(g) gid=506(g) groups=506(g)

编辑:

我已将这些权限完全复制到另一个相同的框中,没有任何问题.我可以cd到没有执行权限的目录.

解决方法

该目录将需要设置执行位,以便您输入它.我不知道你测试了什么,但你不能在没有执行位的情况下进入目录,或者读取其中的文件
$mkdir foo
$echo "baz" > foo/bar
$chmod 660 foo
$cd foo
bash: cd: foo: Permission denied
$cat foo/bar
cat: foo/bar: Permission denied

也就是说,除非您的进程具有CAP_DAC_OVERRIDE POSIX功能集(如root),它允许您输入没有设置可执行位的目录,即iirc.

基本上,你应该试着让你的.ssh目录保存在700,其中的所有内容保存在600,只是为了安全起见. ssh手册页为每个文件提供了关于〜/ .ssh中文件所需的所有权和权限模式的说明.

原文链接:https://www.f2er.com/linux/402126.html

猜你在找的Linux相关文章