.ssh 디렉토리에서 666으로 설정되었지만 소유자에게 권한이 거부되었습니다.


12

최근에 .ssh 디렉토리로 엉망이되었습니다. 몇 가지 권한을 변경하여 이제는 더 이상 액세스 할 수 없습니다. 루트 사용자 (sudo -i)로 액세스 할 수 있지만 somesh로는 액세스 할 수 없습니다

파일을 표시하더라도 .ssh에 나열하거나 cd 할 때 권한이 거부됩니다.

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디렉토리에 대한 올바른 권한 은 700( drwx------)입니다.
스틸 드라이버

답변:


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_rsa하고 chmod 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) ---- (사용자) ----- (그룹) ---- (기타)

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

1
@kos, s / he는 문자열의 첫 번째 필드가 파일 항목의 유형을 나타냅니다. -문자가 "보통"파일을 의미합니다. A d는 디렉토리임을 의미합니다. c, l(심볼릭 링크의 경우) s및 기타 OS의 경우와 같은 다른 것들도 있습니다 .
Josh

@ Josh Yep, 레이아웃이 혼란 스럽습니다.
kos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.