
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