加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:28:06 所属栏目:Linux 来源:网络整理
导读:这太奇怪了.以用户’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---
这太奇怪了.以用户’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中文件所需的所有权和权限模式的说明.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读