소유자가 나와 같이 등록되어 있어도 권한이 거부되었습니다.


13

어떻게 든, 나는 chmod하고 ~를 망각에 빠뜨릴 수있었습니다.

쉘을 통해 로그인을 시도하면

bash: ~/.bashrc : Permission denied

( 루트로 ) 후에도 나는 달렸다.

chown -hR nroach44 /home/nroach44

chmod -R 666 /home/nroach44

또는 ( nroach44 )

chmod -R 644 /home/nroach44

이러한 명령 중 어느 것도 오류를 반환하지 않습니다.

또한:

ls -la /home/nroach44

많이 반환

drw-rw-rw-  1 nroach44 nroach44 4096 --date-- ti:me foldername

도움이 필요하십니까?


모두 감사합니다! 홈 폴더에서 어떤 파일에 어떤 권한이 필요한지에 대한 안내서가 있습니까? :)
NRoach44

/home해야 drwxrwxr-x하고 root:root/home/user rw rw -- or r-다른 사용자가 사용자 파일을 읽으려면 따라. 로 디렉토리 및 실행 파일 x. user당신이 가지고있는 것처럼 그룹 = 사용자 (nroach44 : nroach44)를 가지고 있다면 같은 내부 디렉토리는 문제가되지 않습니다 (다른 사람에게는 0 (---) 권한 만 부여합니다).
laurent

답변:


14
chmod -R 666 /home/nroach44

또는

chmod -R 644 /home/nroach44

이렇게하면 홈 디렉토리의 모든 파일을 실행할 수 없게됩니다. 좋은 생각이 아니었다;)

이 혼란을 해결하는 방법을 모르겠습니다. 빠른 해결 방법으로 루트로 시도 할 수 있습니다.

chmod -R 755 /home/nroach44

이 명령은 홈 폴더의 모든 파일에 대한 실행 권한을 부여합니다. 즉각적인 문제를 해결해야하지만 보안 악몽 일 수 있습니다.

가장 좋은 해결책은 다른 사용자 계정을 열고 파일과 설정을 하나씩 전송하는 것입니다.


6
나는 디렉토리가 열려면 x 권한이 필요하다는 것을 몰랐다. 감사합니다!
NRoach44

5

디렉토리는 디렉토리로 내려갈 수 있도록 실행 비트를 설정해야합니다. 666루트로 실행하더라도 일반 은 잘못되었습니다. 모든 사람에게 쓰기 권한을 부여합니다.

파일을보다 안전하게하려면 다음을 실행하십시오.

chmod -R 640 /home/nroach44

폴더를 다시 내림차순으로 만들려면 다음을 실행하십시오.

find /home/nroach44 -type d -exec chmod 750 \;

참고 : 일부 파일은 민감하고 다른 파일은 읽을 수 없으므로 xx0을 선택했습니다. 저장하려면 세계에 대한 읽기 / 쓰기 / 실행 권한을 제거하십시오.


나는 그것이 작동하는지 아닌지를 테스트하기 위해 666'ing했다 :)
NRoach44

4

~에 대한 충분한 권한이있는 것처럼 /home다른 사용자에 대한 x 권한 이 있어야 하고 ( sudo chmod +rx /home) /home/nroach44/.bashrc파일 에 대한 권한이 있는지 확인해야 합니다.

또 다른 요점으로, 디렉토리는 모든 권한을 수정하기 위해 입력 할 수있는 x 권한이 있어야합니다 sudo chmod -R +X /home/nroach44.


폴더를 입력하기 위해 실행 권한이 필요하다는 것을 아는 것은 이전에 잘 알고 있었으므로 감사합니다!
NRoach44

나는 자본 X+1을
몰랐다

캐피탈 X은 매우 유용하며 찾기를 사용하여 오랜 시간이 지나면 그것을 발견하게되어 매우 기뻤습니다 !!
laurent

1

HOME 폴더에있는 모든 파일의 권한을 엉망으로 만들었 기 때문입니다. 파일 권한으로 재생하거나 chmod 및 chown을 매우 신중하게 사용하면 매우 조심하십시오. 그렇지 않으면 혼란에 빠질 수 있습니다.

bash: ~/.bashrc : Permission denied

홈 디렉토리에있는 모든 파일의 권한을 변경했다고 생각하므로 bashrc의 권한도 변경되었습니다.

~ / .bashrc 스크립트의 기본 권한은

-rw-r--r-- 1 user1 user1  3353 2012-01-09 12:05 .bashrc

이를 설명하려면 파일에 대한 읽기 및 쓰기 권한이 있어야하고 사용자 그룹의 다른 사용자가 파일을 읽을 수 있어야하며 다른 모든 사용자도 읽을 수 있습니다.

이제 chmod를 사용하여 bashrc 스크립트의 권한을 644로 변경하십시오.

chmod 644 ~/.bashrc

위의 명령이 권한을 거부 한 경우 그때

chodo를 먼저 sudo로 실행하십시오.

sudo chown user1:usergrp ~/.bashrc

user1을 사용자 이름으로 바꾸고 usergrp를 기본 사용자 그룹으로 바꾸십시오.

이제 다시

chmod 644 ~/.bashrc

이제 당신은 basrc 스크립트에 대한 권한을 갖게 될 것입니다. 이제 로그인을 시도하고 다른 오류가 있는지 확인하십시오 :)


0

디렉토리를 열려면 x 비트 세트 (해당 비트가 검색 비트로 표시되는 디렉토리)가 필요합니다. 따라서 트리를 사용하여 폴더 세트 만 가져오고 모든 파일을 실행 파일로 설정하는 악몽을 피하십시오 (tree 옵션은 -d List directories only.).

sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755  "{}"

경고!!! 이 점을 고려해야합니다.

  • 루트 /디렉토리 또는 시스템 디렉토리 에서 chmod 또는 chown 재귀를 사용 하면 OS가 손상됩니다 (실제로 /디렉토리 또는 시스템 디렉토리의 재귀 는 위험합니다)

  • 이것은 권한 대량을 설정하는 좋은 보안 관행이 아닙니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.