test
사용자로 디렉토리에 액세스하려고 합니다 ayush
. 디렉토리는 사용자가 소유 ayush
하고 그룹을 가지고 있습니다. git
디렉토리는 권한 0070과 그룹을 가지며 그룹의 구성원입니다 git
.ayush
ayush:~> ls -ld
drwxr-xr-x 7 ayush git 4096 Feb 15 11:33 .
ayush:~> ls
test
ayush:~> ls -ld test/
drwxrwx--- 3 ayush git 4096 Feb 15 11:34 test/
ayush:~> chmod 070 test/
ayush:~> ls -ld test/
d---rwx--- 3 ayush git 4096 Feb 15 11:34 test/
ayush:~> ls -l test/
ls: cannot open directory test/: Permission denied
ayush:~> groups
git
ayush:~> id
uid=11417(ayush) gid=30(git) groups=30(git)
한동안 이 오류가 표시되었는데 이전에는 존재하지 않았습니다. 이것은 새로운 그룹이 아니며 이미 일부 코드에서 사용하고 있습니다.
그건 그렇고, 나는 그룹의 일부인 다른 사용자로 전환했고 그는 아무런 문제 없이 "test" 디렉터리에 액세스할 수 있었습니다.
편집 1:뿐만 아니라 770 권한을 가진 "test" 폴더의 그룹을 변경할 수 없습니다. "작업이 허용되지 않습니다" 오류가 발생합니다. 게다가 이 문제는 "git" 그룹에서만 발생합니다. 폴더의 그룹을 내가 속한 다른 그룹으로 전환할 수 있습니다. 하지만 그러면 사용자를 "git"으로 다시 전환할 수 없습니다.
답변1
귀하는 파일의 소유자이므로 "사용자" 권한이 적용됩니다.
그룹 권한은 소유자가 아닌 경우에만 적용됩니다.
마찬가지로 "기타" 권한은 귀하가 소유자도 아니고 그룹에 속하지도 않은 경우에만 적용됩니다.
유일한 차이점은 root
사용자가 권한에 다르게 명시되어 있어도 파일을 읽을 수 있다는 것입니다 :-)
답변2
이 문제를 발견했습니다. 내 그룹 제한은 16개이며 사용자를 17개 그룹에 추가했습니다. "git" 그룹은 마지막 그룹으로 나열되어 있으므로 처음 16개 그룹만 고려하므로 그룹 작업을 수행할 때 해당 그룹의 구성원으로 계산되지 않습니다.