![각각의 새 파일이 항상 동일한 그룹 소유권을 갖도록 디렉터리를 구성합니다.](https://linux55.com/image/212461/%EA%B0%81%EA%B0%81%EC%9D%98%20%EC%83%88%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%ED%95%AD%EC%83%81%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EA%B7%B8%EB%A3%B9%20%EC%86%8C%EC%9C%A0%EA%B6%8C%EC%9D%84%20%EA%B0%96%EB%8F%84%EB%A1%9D%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A5%BC%20%EA%B5%AC%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4..png)
다음 디렉토리가 있습니다
$ ls -al
total 16
drwxr-xr-x 4 root root 4096 Oct 21 14:50 .
drwxr-xr-x 24 root root 4096 Oct 21 11:28 ..
drwxrwx--- 8 root mygroup 4096 Jan 12 2022 foobar
생성된 모든 새 파일이 기본적으로 그룹 foobar
에 속하도록 권한을 구성하는 방법이 있습니까 ?mygroup
답변1
setgid
디렉토리 비트 설정은 원하는 대로 정확하게 수행되어야 합니다(유닉스 계열 운영 체제 및/또는 파일 시스템이 이를 지원한다고 가정).
chmod g+s foobar
이후 권한은 다음과 같아야 합니다.
drwxrws--- 8 root mygroup 4096 Jan 12 2022 foobar
내가 정확하게 기억한다면 Unix 계열 트리의 BSD 분기는 기본적으로 파일이 생성된 디렉터리 그룹을 기반으로 새 파일의 그룹 소유자를 설정하는 데 사용되었습니다. 반면 SystemV 기반 포크는 파일을 생성한 프로세스의 기본 그룹을 기반으로 그룹 소유권을 설정합니다.
엄격한 이전 SysV 스타일에서 명령 sg
및 newgrp
는 그룹 프로젝트를 수행하는 사용자에게 중요한 도구입니다. 그러나 SunOS 4.x와 System V 릴리스 4에서는 시스템 관리자가 디렉토리에서 setgid 비트를 사용하여 해당 디렉토리에서 BSD를 사용할지 아니면 기존 SysV 그룹 소유권 할당 스타일을 사용할지 선택할 수 있었습니다.
이 "디렉토리에 gid 설정" 동작은 Linux를 포함한 Unix 제품군의 여러 운영 체제에서 채택되었습니다. 그러나 일부 운영 체제에서는 이를 채택하지 않는 것 같습니다(아마도 BSD 측에서는 SysV 브랜치의 "선택적 동작"이 이미 표준 동작이기 때문에?). 파일 시스템 유형 선택도 이 기능의 사용 가능 여부에 영향을 미칠 수 있습니다.