각각의 새 파일이 항상 동일한 그룹 소유권을 갖도록 디렉터리를 구성합니다.

각각의 새 파일이 항상 동일한 그룹 소유권을 갖도록 디렉터리를 구성합니다.

다음 디렉토리가 있습니다

$ 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 스타일에서 명령 sgnewgrp는 그룹 프로젝트를 수행하는 사용자에게 중요한 도구입니다. 그러나 SunOS 4.x와 System V 릴리스 4에서는 시스템 관리자가 디렉토리에서 setgid 비트를 사용하여 해당 디렉토리에서 BSD를 사용할지 아니면 기존 SysV 그룹 소유권 할당 스타일을 사용할지 선택할 수 있었습니다.

이 "디렉토리에 gid 설정" 동작은 Linux를 포함한 Unix 제품군의 여러 운영 체제에서 채택되었습니다. 그러나 일부 운영 체제에서는 이를 채택하지 않는 것 같습니다(아마도 BSD 측에서는 SysV 브랜치의 "선택적 동작"이 이미 표준 동작이기 때문에?). 파일 시스템 유형 선택도 이 기능의 사용 가능 여부에 영향을 미칠 수 있습니다.

관련 정보