it-swarm-ko.tech

디렉토리의 모든 폴더 / 파일에 대한 기본 파일 권한을 설정하는 방법은 무엇입니까?

폴더 내에서 만든 모든 항목 (디렉토리, 파일)이 기본 권한 및 그룹을 상속하도록 폴더를 설정하고 싶습니다.

"미디어"그룹을 호출 할 수 있습니다. 또한 디렉토리 내에 생성 된 폴더/파일은 자동으로 g + rw를 가져야합니다.

274
Chris

찾았습니다 : 기본 권한 적용

기사에서 :

chmod g+s <directory>  //set gid 
setfacl -d -m g::rwx /<directory>  //set group to rwx default 
setfacl -d -m o::rx /<directory>   //set other

다음으로 확인할 수 있습니다 :

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
288
Chris

이것은 Chris의 답변에 추가 된 것으로, 내 아치 Linux 장비에 대한 나의 경험을 기반으로합니다.

기본 스위치 (-d)와 수정 스위치 (-m)를 사용하면 기본 권한 만 수정되지만 기존 권한은 그대로 유지됩니다.

setfacl -d -m g::rwx /<directory>

기존 것을 포함하여 폴더의 전체 권한 구조를 변경하려면 추가 줄을 작성하고 재귀 적으로 만들어야합니다 -R :

setfacl -R -m g::rwx /<directory>

예.

setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders 
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else. 

( CREDIT 모든 권한 취소 줄의 synthax에 대한 주석에서 markdwite를 표시하려면)

29
thebunnyrules

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 = others

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 (Access Control List)이 디렉토리에 설정되어 있음을 나타냅니다.

Reference : 포럼에 링크

1
Bsienn