다음에서 생성된 파일의 경우테스트 사용자/var/www 디렉토리에 계정이 있어야 합니다.g+rwx권한으로www-데이터그룹으로.
어떻게 이를 달성할 수 있나요?
SSH를 통해 파일을 생성하고 있습니다.
답변1
/var/www
그룹 을 설정하려면설정조금:
chgrp www-data /var/www
chmod g+s /var/www
하위 디렉터리도 조정하려면 다음을 수행하세요.find /var/www -type d -exec chmod g+s {} +
이렇게 하면 새로 생성된 모든 파일이 사용자 대신 상위 디렉터리의 그룹을 상속하게 됩니다.
기본 그룹 권한을 설정하려면 다음을 사용해야 합니다.ACL. "기본" ACL을 설정합니다.
setfacl -m "default:group::rwx" /var/www
하위 디렉터리도 조정하려면 다음을 수행하세요.find /var/www -type d -exec setfacl -m d:g::rwx {} +
참고: 파일 시스템에는 ACL 지원이 활성화되어 있어야 합니다. 때로는 기본적으로 켜져 있습니다. ~에ext3또는ext4"작업이 지원되지 않습니다"라는 메시지가 표시될 수 있으며, 이 경우 수동으로 활성화해야 합니다.
현재 마운트된 파일 시스템의 경우:
mount -o remount,acl /
영구적으로 –하나아래 방법 중:
fstab 수준에서: 옵션 필드에
/etc/fstab
포함되도록 편집하세요.acl
파일 시스템 수준에서:
tune2fs -o acl /dev/diskname
답변2
이로 인해 몇몇 사람들은 setgid에 대한 'grawity' 답변에 갇혔을 수 있습니다. 폴더의 그룹이 자신의 그룹과 다른 경우 chmod를 루트로 실행해야 할 수도 있지만 이 작업을 수행해야 한다는 오류는 발생하지 않습니다.
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir
$ chmod g+s dir #no errors
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir #but nothing changed
$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo #and the group is still wrong
$ sudo chmod g+s dir
$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar 9 10:44 dir #the setgid bit is now on
$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar 9 10:51 withsudo #and group is set
답변3
사용자가 생성하는 파일 그룹은 해당 사용자의 그룹입니다(/etc/group에 있음). 권한은 UMASK 매개변수에 의해 제어됩니다. 이것 좀 봐