유닉스 / 리눅스 머신에서 이상한 문제가 발생했습니다 :
저는 그룹의 회원입니다. 그룹 A라고 부르고 특정 파일 (다른 소유자가 있음)도 그룹 A에 속합니다. 해당 파일의 권한은
-rw-rw----
따라서 해당 파일을 열 수있을 것으로 예상되지만 그렇지 않습니다. 파일 내용 (cat 사용)을 보려고하면 “Permission denied”오류 메시지가 표시됩니다.
권한이 올바른 것 같으므로 다른 원인으로 무엇이 발생할 수 있습니까? “재정의”권한 제한이 있습니까? 그렇다면 어떻게 알 수 있습니까?
답변
그룹 A에 추가 된 후 로그 아웃했다가 다시 로그인 했습니까?
그렇지 않은 경우, 현재 로그인 프로세스는 로그인시 보유한 그룹 멤버쉽 만 갖게되며 그 이후의 변경 사항은 없습니다. 그리고 해당 로그인의 모든 하위 프로세스는 동일한 그룹 멤버쉽을 갖습니다 (예 : X에 로그인 한 경우 터미널 에뮬레이터 및 쉘을 포함한 모든 응용 프로그램)
다른 콘솔이나 ssh를 통해 다시 로그인하거나 exec sudo -u $(id -u -n) -i
현재 쉘을 새 쉘로 효과적으로 교체하고 교체하기 위해이 쉘을 다시 테스트하여 테스트 할 수 있습니다. 해당 쉘에 속하는 백그라운드 프로세스는 분리됩니다.
답변
NFS를 사용하면 사용하는 보안 모드에 따라 달라 지지만 기존의 경우 사용자가 속한 그룹 목록이 클라이언트에서 서버로 전송되며 전송할 수있는 그룹 수에 제한이 있습니다 ( 16 내가 마지막으로 확인했을 때).
그래서 클라이언트는 말합니다 : 나는 1234입니다 그리고 나는 그룹 12, 13, 14의 멤버입니다 … 16 개 이상의 그룹에 있다면, 그 목록은 잘리고 그룹은있을 것입니다 서버가 귀하가 회원임을 인식하지 못합니다.
아마도 그 설명 일 것입니다. 로컬 및 / 또는 원격 시스템의 시스템 관리자 만이 보안 모델 또는 NFS 서버 설정을 변경하거나 구성원 인 그룹 수를 줄여서 이와 관련하여 무언가를 수행 할 수 있습니다.
답변
댓글에서 메모 한대로에 대한 읽기 권한이 없습니다 /home/username
. 그러나를 읽으 려면 전체 경로에 대한 실행 권한 /home/username/path1/path2/file
이 필요 합니다.
이를 디버그하려면 namei -l /home/username/path1/path2/file
파일을 읽는 사용자로 실행 하십시오.
답변
ACL 일 수 있습니다. 보다
getfacl the-file
어떤 이유로 든 당신이 속한 그룹이 제대로 설정되지 않았을 수 있습니다. 확인
id -a
는 어때
namei -xl "$(readlink -f the-file)"
getfattr -dm- the-file
sudo lsattr the-file
파일 시스템의 유형은 무엇입니까?
시스템에 의류, SELinux 또는 기타 필수 액세스 제어가 있습니까?
파일에 “Permission denied”라는 텍스트가 없습니다. ;-)?