test
소유자가 user:group이고 권한이 770인 디렉터리가 있습니다 .
나는 그 안의 모든 디렉토리와 파일이 test
동일한 사양을 갖기를 원합니다.
시도해 보았는데 chmod g+s,u+s test
부분적으로 작동했습니다. 해당 폴더 내의 디렉터리는 소유권과 권한을 상속하지만 권한은 기록되지 않고 소유자만 기록됩니다. 나도 시도했지만 chmod g+t test
완전히 실패했습니다.
원하는 결과를 어떻게 얻을 수 있습니까?
편집: 관리자는 ACL을 설치할 수 없으며 파일이 CLI에서 생성되지 않기 때문에 umask가 작동하지 않습니다.
답변1
(+ s setgid
): 때로는 다른 UNIX 운영 체제에서 다른 의미를 갖습니다. 그러나 사용자 및 그룹 상속은 가능하지만 권한 상속은 가능하지 않습니다.
기본적으로 권한은 각 사용자의 "umask"를 사용하여 설정됩니다.
umask가 "0"이면 기본적으로 rwxrwxrws(즉, 8진수 모드 777 또는 바이너리: 111111111) 권한을 사용하여 파일 및 디렉터리가 생성되므로 읽기, 쓰기 및 실행 가능(또는 디렉터리의 경우) : "crossable") 소유자(첫 번째 rwx 삼중항), 파일과 관련된 그룹(두 번째 rwx 삼중항) 및 모든 사람/모든 항목(세 번째 "rwx" 삼중항)에 대한 것입니다.
umask: 이러한 비트 중 일부는 "마스크"될 수 있습니다.
일반적으로 루트의 umask는 더 제한적입니다. 예를 들어 077("077" 8진수가 바이너리에서 000111111이기 때문에 모든 그룹 및 기타 비트를 숨긴다는 의미) 반면 일반 사용자는 일반적으로 022(예: 000010010)이므로 "숨기기"(제거)를 의미합니다. ) 이 그룹의 "쓰기" 비트와 "다른 트리플".
즉:
without umask the file or directory have those triplets:
rwx rwx rwx , ie: 111 111 111
If created by root, with a umask of : 077, this file would instead have:
111 111 111
XOR 000 111 111
= 111 000 000, thus : rwx --- --- (ie, only the owner can read/write/execute it)
If created by a user, with a umask of : 022, it would instead have:
111 111 111
XOR 000 010 010
= 111 101 101, thus : rwx r-x r-x