내 Unix/Linux 컴퓨터에서 이상한 문제가 발생했습니다.
저는 그룹 A의 구성원입니다. 소유자가 다른 특정 파일도 그룹 A에 속합니다. 이 파일의 권한은 다음과 같습니다.
-rw-rw----
그래서 파일을 열 수 있기를 바랐지만 열 수 없습니다. (cat을 사용하여) 파일의 내용을 보려고 하면 "권한이 거부되었습니다"라는 오류 메시지가 나타납니다.
권한이 올바른 것 같은데, 이 문제를 일으키는 또 다른 원인은 무엇입니까? "재정의" 권한 제한이 있습니까? 그렇다면 어떻게 알 수 있나요?
답변1
그룹A에 추가된 후 로그아웃했다가 다시 로그인하셨나요?
그렇지 않은 경우 현재 로그인 프로세스에는 로그인 시 가지고 있던 그룹 멤버십만 포함되며 그 이후에는 아무것도 변경되지 않습니다. 해당 로그인의 모든 하위 프로세스는 동일한 그룹 멤버십을 갖습니다(즉, X에 로그인하면 터미널 에뮬레이터와 셸을 포함한 모든 응용 프로그램).
다른 콘솔이나 ssh 또는 이와 유사한 방법을 통해 다시 로그인하여 이를 테스트할 수 있습니다 exec sudo -u $(id -u -n) -i
(현재 쉘을 효과적으로 종료하고 새 쉘로 교체 - 해당 쉘에 속한 모든 백그라운드 프로세스는 고아가 됨)
답변2
귀하의 의견에서 지적했듯이 읽기 권한이 없습니다 /home/username
. 하지만 읽기 위해서는 /home/username/path1/path2/file
당신이 필요합니다구현하다전체 경로에 대한 권한입니다.
이를 디버깅하려면 namei -l /home/username/path1/path2/file
파일을 읽는 사용자로 실행하세요.
답변3
NFS는 어떤 보안 모드를 사용하느냐에 따라 다르지만, Traditional 모드에서는 클라이언트가 사용자가 속한 그룹 목록을 서버로 보내주고, 보낼 수 있는 그룹 수에는 제한이 있습니다. 마지막으로 확인했을 때는 16세였습니다).
그래서 클라이언트는 다음과 같이 말합니다. 내 uid는 1234이고 나는 그룹 12, 13, 14의 구성원입니다. 16개 이상의 그룹에 속해 있으면 목록이 잘리고 서버가 모르는 그룹이 있을 것입니다. 당신은 그것의 회원입니다.
아마도 그에 대한 설명이겠죠. 로컬 및/또는 원격 컴퓨터의 시스템 관리자만이 NFS 서버의 보안 모델이나 설정을 변경하거나 사용자가 속한 그룹 수를 줄여 이 문제를 해결할 수 있습니다.
답변4
경로의 모든 부분에 "x" 권한이 필요합니다.
각 섹션은 방과 같습니다. 방의 콘텐츠에 대해 특정 작업을 수행하려면 Explorer에 들어가야 합니다(X 권한, explore라는 단어와 연관된 경우 니모닉일 수 있음).
따라서 간단히 /a/b/c.txt를 분류하려면 /, /a 및 /a/b 디렉토리에 X가 있어야 합니다.
그런 다음 방 b를 탐색할 수 있는 권한이 부여되며 파일에 r이 있어야 합니다(이 경우에는 갖고 있음).
이 질문이 더 이상 정보를 추가하지는 않는다는 것을 알고 있지만, 이 시험이 저와 같은 미래의 Google 직원에게 도움이 되기를 바랍니다.