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

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

폴더에 생성된 모든 항목(디렉터리, 파일)이 기본 권한과 그룹을 상속하도록 폴더를 설정하고 싶습니다.

우리는 이 그룹을 '미디어'라고 부릅니다. 또한 디렉터리 내에 생성된 폴더/파일에는 자동으로 g+rw가 있어야 합니다.

답변1

찾았어요:기본 권한 적용

기사에서 :

  1. setgid<directory> 아래의 파일/폴더가 <directory>와 동일한 그룹을 사용하여 생성되도록 이 비트를 설정합니다 .

    chmod g+s <directory>
    
  2. 그룹 및 기타 그룹에 대한 기본 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

관련 정보