Rocky Linux 서버를 사용하여 다음 명령을 사용하여 사용자를 생성했습니다.
sudo adduser foobar
사용자는 foobar
이제 그룹의 구성원이 됩니다 foobar
. 우리는 다음을 통해 확인할 수 있습니다.
foobar$ id
uid=1111(foobar) gid=1111(foobar) groups=1111(foobar)
the uid
와 the 는 gid
동일하다는 점에 유의하세요.
이제 소유자 권한은 소유한 파일 및 디렉터리에 대한 foobar
그룹 권한과 동일합니까 ?
예
다음 디렉토리의 경우,
drwxrwx--- 1 foobar foobar my_dir
이상하게도 그룹 baz
에 속하지 않은 사용자는 .foobar
my_dir
baz$ id
uid=2222(baz) gid=10000(group1),10001(group2)
baz$ touch my_dir/test # (?)
baz$ ls my_dir
test
위의 (?) 줄: "기타" 비트가 꺼져 있을 때 어떻게 쓸 수 있습니까 baz
?my_dir
답변1
Linux는 기본 파일 모드(rwxrwxrwx)를 지원하지만 ACL 목록도 지원합니다. 나의심하다baz가 쓸 수 있는 일부 ACL 목록을 설정했습니다.
getfacl my_dir
상황을 보여줄 수 있습니다.
답변2
Unix의 사용자 및 그룹 권한은 우연히 이름이 동일하거나 숫자 ID가 동일하더라도 별개입니다.
adduser 명령은 100% 표준화되지 않았습니다. 일부 버전에서는 사용자와 함께 그룹을 생성하고 일부에서는 그렇지 않으며, 그렇지 않은 버전에서도 그룹 이름을 지정하여 사용자와 함께 그룹을 생성하라는 지시를 받을 수 있습니다. adduser의 일부 버전은 그룹 이름이 지정되지 않은 경우 사용자를 "users" 그룹이나 유사한 기본 그룹에 할당합니다.
게다가, groupid와 userid는 우연히 동일하며(아마도 다음 사용 가능한 연속 ID에 할당될 수 있음) 쉽게 동기화되지 않을 수 있습니다. (저는 이것이 짜증나고 때로는 고치려고 애쓰기도 합니다.)
또 다른 대답은 터치가 작동하는 이유에 대한 합리적인 설명을 제공합니다. 또 다른 가능성은 "테스트" 파일이 터치되기 전에 이미 존재했고 baz는 파일에 대한 쓰기 액세스 권한이 있지만 디렉터리에 대한 액세스 권한이 없거나 어떤 이유로 파일이 이미 존재하기 때문에 업데이트할 때 인쇄 오류가 없다는 것입니다. 시간.