특정 그룹에 대한 쓰기 액세스를 허용하려면 해당 그룹의 모든 사람을 기본적으로 공유 파일/폴더에 쓸 수 있도록 설정하고, 소유 그룹을 해당 그룹을 소유한 그룹에 자동으로 고정할 수 있습니다.상위 디렉토리이 디렉터리에 setgid 비트를 설정하면 다음과 같습니다.
chmod g+s our_shared_directory
그렇지 않으면 파일 작성자의 기본 그룹이 사용됩니다(일반적으로 사용자 이름과 동일).
위의 인용문은 다음에서 유래되었습니다.아치 리눅스 위키. 공유 파일과 폴더를 만드는 방법을 잘 모르겠습니다. 사용자라고 말해주세요ㅏ그리고두번째둘 다 공통 그룹에 속함G. 이제 our_shared_directory
모든 사람을 위해 기본적으로 이것을 어떻게 생성합니까?G쓰기 권한이 있나요?
setgid
둘째, 왜 on 이 필요합니까 our_shared_directory
? 왜 내가 속한 그룹을 고정해야 하나요?상위 디렉토리의 our_shared_directory
?
답변1
폴더 제어를 공유하려는 경우
- 사용자
a
- 사용자
b
사용자 생성
% sudo adduser a
Adding user `a' ...
Adding new group `a' (1002) ...
Adding new user `a' (1001) with group `a' ...
Creating home directory `/home/a' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
....
그리고
% sudo adduser b
Adding user `b' ...
디렉터리 생성
% mkdir our_shared_directory
새 그룹을 만들고 사용자를 추가하세요.
% sudo addgroup cool_kids
Adding group `cool_kids' (GID 1001) ...
Done.
% sudo adduser a cool_kids
Adding user `a' to group `cool_kids' ...
Adding user a to group cool_kids
Done.
% sudo adduser b cool_kids
....
cool_kids
디렉토리를 그룹 및 setgid
비트 에 속하게 만들기
sudo chmod g+s our_shared_directory
sudo chown -v ubuntu:cool_kids our_shared_directory
우리의 작업을 확인하세요
ls -al
drwxrwsr-x 2 ubuntu cool_kids 40 Feb 29 20:37 our_shared_directory/
^ setgid bit is set and group is now "sticky"
a
사용자가 일반 디렉터리에 파일을 생성하면 어떤 일이 발생하는지 확인하세요.
% touch file_made_by_user_a
% ls -al
-rw-rw-r-- 1 a a 0 Feb 29 20:57 file_made_by_a
이제 사용자가 a
파일을 생성합니다.our_shared_directory
% cd our_shared_directory/
% ls -al
-rw-rw-r-- 1 a cool_kids 0 Feb 29 20:59 another_by_a
^^^^^^ note the group
중요한
- 멋진 아이들그룹자동으로새 파일에 적용
이제 사용자로 전환하세요b
% su b
Password: ...
이제 b는 a가 만든 파일을 편집할 수 있습니다.- another_by_a
해당 파일의 기본 모드는 -rw-rw-r--
이므로 b
정상적으로 편집이 불가능합니다.
하지만 함께
b% vim another_by_a
^ note this means we are user "b" now
[make some edit and save]
b
b가 그룹에 속하고 새 파일에 cool_kids
비트 단위로 적용이 보장되므로 파일**을 수정할 수 있습니다.cool_kids
setgid
ls -al
-rw-rw-r-- 1 a cool_kids 7 Feb 29 21:03 another_by_a
^ the file is 7bytes - slightly bigger because of changes made by b