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中文件所需的所有权和权限模式的说明.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...