Smu*_*dge 20 linux permissions
这太奇怪了。以用户“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
Run Code Online (Sandbox Code Playgroud)
因此,组“g”中的用户“g”/应该能够读取和写入 .ssh 目录,但如果我这样做,ls -lah .ssh/
我会得到ls: .ssh/: Permission denied
. 如果我尝试cat
目录中的任何文件,我也会得到权限被拒绝
如果我去为根用户的权限更改为700
,744
,766
只要或任何为“用户”的权限是7它的工作原理和我的CD和LS的目录和文件中即可。
id g
返回
uid=504(g) gid=506(g) groups=506(g)
Run Code Online (Sandbox Code Playgroud)
我已将这些权限完全复制到另一个相同的框中,并且没有问题。我可以cd
进入一个没有执行权限的目录。
wzz*_*zrd 38
该目录将需要设置执行位才能进入。我不知道你测试了什么,但是你不能在没有执行位的情况下进入目录,或者读取其中的文件:
$ mkdir foo
$ echo "baz" > foo/bar
$ chmod 660 foo
$ cd foo
bash: cd: foo: Permission denied
$ cat foo/bar
cat: foo/bar: Permission denied
Run Code Online (Sandbox Code Playgroud)
也就是说,除非您的进程设置了 CAP_DAC_OVERRIDE POSIX 功能(就像 root 一样),它允许您进入没有设置可执行位 iirc 的目录。
基本上,为了安全起见,您应该尝试将 .ssh 目录保持在 700,并将其中的所有内容保持在 600。ssh 手册页为每个文件提供了有关 ~/.ssh 中文件所需的所有权和权限模式的说明。
归档时间: |
|
查看次数: |
74579 次 |
最近记录: |