폴더에 생성된 모든 항목(디렉터리, 파일)이 기본 권한과 그룹을 상속하도록 폴더를 설정하고 싶습니다.
우리는 이 그룹을 '미디어'라고 부릅니다. 또한 디렉터리 내에 생성된 폴더/파일에는 자동으로 g+rw가 있어야 합니다.
답변1
찾았어요:기본 권한 적용
기사에서 :
setgid
<directory> 아래의 파일/폴더가 <directory>와 동일한 그룹을 사용하여 생성되도록 이 비트를 설정합니다 .chmod g+s <directory>
그룹 및 기타 그룹에 대한 기본 ACL 설정
setfacl -d -m g::rwx /<directory> setfacl -d -m o::rx /<directory>
다음으로 다음을 확인할 수 있습니다.
getfacl /<directory>
산출:
# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
답변2
이것은 Chris의 답변에 추가된 것이며 Arch Linux 시스템에 대한 나의 경험을 바탕으로 한 것입니다.
기본 스위치( -d
) 및 수정 스위치( -m
)를 사용하면 기본 권한만 수정하고 기존 권한은 변경되지 않은 상태로 유지됩니다.
setfacl -d -m g::rwx /<directory>
기존 폴더를 포함하여 폴더의 전체 권한 구조를 변경하려는 경우(한 줄을 더 작성하여 재귀적으로 만들어야 함 -R
):
setfacl -R -m g::rwx /<directory>
예:
# Gives group read,write,exec permissions for currently existing files and
# folders, recursively.
setfacl -R -m g::rwx /home/limited.users/directory
# Revokes read and write permission for everyone else in existing folder and
# subfolders.
setfacl -R -m o::x /home/limited.users/directory
# Gives group rwx permissions by default, recursively.
setfacl -R -d -m g::rwx /home/limited.users/directory
# Revokes read, write and execute permissions for everyone else.
setfacl -R -d -m o::--- /home/limited.users/directory
(신용 거래주석에 모든 권한 취소 행의 구문을 표시하십시오.)
답변3
www-data 서버에서 생성된 파일을 사용할 수 있도록 자신/로그인한 사용자를 www-data 그룹에 추가하세요.
sudo usermod -a -G www-data $USER
새로 추가된 그룹을 적용하려면 다시 시작/다시 로그인해야 합니다.
cd /var/www
www-data를 html 폴더의 그룹 구성원으로 추가하고 사용자를 소유자로 추가하면 그룹 구성원뿐만 아니라 우리도 이를 소유하게 됩니다.
sudo chown -R $USER:www-data html
사용자 이름을 USER로 바꾸세요.
필요에 따라 읽기, 쓰기 및 실행 권한을 설정합니다. (ugo) u=user, g=group, o=other
sudo chmod 750 html
html의 GID를 설정하세요. 이제 html로 새로 생성된 파일은 소유권 권한을 상속받습니다.
sudo chmod g+s html
이렇게 하면 html 디렉터리 및 하위 디렉터리에 새로 생성된 파일/디렉터리에 대한 기본 규칙이 생성됩니다.
sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html
SELinux가 설치된 경우 쓰기 권한을 허용하려면 www-data 컨텍스트 요구 사항을 무시하세요.
sudo setsebool -P httpd_unified 1
앱의 새로운 권한을 보려면 디렉터리를 나열하세요.
ls -ld html
이것을 돌려줘
drwxrwsr-x+ 3 html www-data
뒤에 오는 +는 ACL(액세스 제어 목록)이 디렉터리에 설정되어 있음을 나타냅니다.
인용하다:포럼 링크
답변4
파일에 대한 기본 권한을 설정하려면 다음 명령을 사용하십시오.
chacl -R filename