所有者的权限被拒绝,尽管它在.ssh目录中设置为666


12

我最近把.ssh目录弄乱了。我认为进行了一些权限更改,现在不再允许我访问它。我可以以root用户身份访问它(sudo -i),但不能以somesh身份访问

列出或提示进入.ssh时,我得到的权限被拒绝,即使它显示了文件

ls: cannot access /home/somesh/.ssh/amazon.pem: Permission denied
ls: cannot access /home/somesh/.ssh/id_rsa: Permission denied
ls: cannot access /home/somesh/.ssh/known_hosts: Permission denied
ls: cannot access /home/somesh/.ssh/id_rsa.pub: Permission denied
total 0
-????????? ? ? ? ?            ? amazon.pem
-????????? ? ? ? ?            ? id_rsa
-????????? ? ? ? ?            ? id_rsa.pub
-????????? ? ? ? ?            ? known_hosts

以root和ls登录具有以下结果

# ls -l /home/somesh/ -a |grep ssh
drw-rw-rw-  2 somesh somesh 4096 Aug 27 15:45 .ssh

甚至里面的文件都是.ssh都归somesh:somesh和chm拥有

-rw-rw-rw- 1 somesh somesh 1692 Aug 27 15:45 amazon.pem
-rw-rw-rw- 1 somesh somesh 1675 Aug 25 20:01 id_rsa

5
请参阅为什么chmod 644为什么无法访问目录?。AFAIK该~/.ssh目录的正确权限是700drwx------)。
steeldriver

Answers:


21

Steeldriver是正确的。在目录上,您还需要x访问标志才能列出其中的文件。

使用修复目录chmod 700 ~/.ssh应该可以帮助您进入此(正确)状态:

$ ls -ld ~/.ssh
drwx------. 2 user user 4096 Aug 26 10:37 /home/user/.ssh

另外,您还应该使用chmod 600 ~/.ssh/id_rsachmod 644 ~/.ssh/*.pub来修复密钥:

$ ls -l ~/.ssh/
-rw-------. 1 user user  1766 Mar  7  2014 id_rsa
-rw-r--r--. 1 user user   415 Mar  7  2014 id_rsa.pub

我设法自己之前解决这一问题,通过在其他地方复制,然后将其复制回
SoWhat

-2

在任何目录上运行命令ls -l时,第一列是权限列,其解释如下:

1 ------------- 2 3 4 ------- 5 6 7 ------- 8 9 10

(TYPE)---- (用户) ----- (group) ----(其他)

TYPE:如果为'-',则为文件。如果为“ d”,则为目录。

权限:读取:4,写入:2,执行:1

因此,对于读取,写入和执行,您的权限将在用户组中为7

您可以使用

sudo chmod 7 6 6 file_name 

要么

sudo chmod -R u+x /home/somesh/.ssh 

-R –修改父文件夹和其中的子对象的权限


2
我不了解TYPE部分;也chmod 700 file_namechmod u+x file_name做两件事完全不同。第一个将权限设置为rwx/---/---,第二个仅将x所有者的权限设置为(从666它开始,会将文件更改为766,而不是700)。
kos 2015年

1
@kos,她/他表示字符串中的第一个字段指示文件条目的类型。一个-字符意味着它是一个“正常”的文件。一个d意味着它是一个目录。还有其他的,例如cl(用于符号链接),,s甚至用于其他操作系统。
乔什(Josh)2015年

@Josh Yep,布局使我困惑。
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.