권한이 있는 특정 그룹을 기본값으로 사용하도록 Linux ACL을 어떻게 설정합니까?

권한이 있는 특정 그룹을 기본값으로 사용하도록 Linux ACL을 어떻게 설정합니까?

www\그래서 다음과 같은 디렉토리가 있습니다 .

[eugene@server ~]$ ll
총 0
drwxrwx---. 2 유진 유진 57 12월 10일 16:04 www

이 디렉토리에 생성된 모든 새 파일이 그룹에 속하도록 만들고 싶습니다.apache 그리고권한이 있습니다 770.

그래서 나는 이렇게 했습니다:

[eugene@server ~]$ chgrp 아파치 www/
[eugene@server ~]$ setfacl -Rm u:eugene:rwx,d:g:apache:rwx,d:o:--- www/
[eugene@server ~]$ ll
drwxrwx---+ 2 eugene apache 43 12월 10일 16:10 www
[eugene@server ~]$ echo 123 > www/test.txt
[eugene@server ~]$ ll www/
-rw-rw----+ 1 eugene eugene 4 12월 10일 16:11 test.txt
[유진@서버 ~]$  

보시다시피 test.txt예상되는 그룹 없이 생성되었습니다 apache. x(실행) 권한도 설정 되지 않았습니다 .

내가 여기서 무엇을 놓치고 있는 걸까요?

답변1

디렉토리 내의 파일을 Apache 그룹으로 생성하려면 SETGUID 비트를 설정하는 것이 좋습니다.

chmod +2000 www

파일을 생성하는 기본 권한은 기본 Linux umask가 항상 승리하기 때문에 ACL을 사용하여 수행할 수 없습니다. Umask에서는 생성된 파일의 권한에 7자리(rwx)가 포함된 파일 생성을 허용하지 않습니다.

대신 스크립트를 만들 수 있습니다mk파일내부에는 다음이 포함됩니다.

touch $1
chmod 770 $1

실행 가능하게 만드세요:

chmod 750 mkfile

/usr/local/bin 폴더에 넣어주세요. 이제 어디서나 770 권한으로 파일을 만들 수 있습니다.

mkfile my_file

관련 정보