다음 단계를 사용하여 권한 및 기본 ACL 권한을 설정하고 있습니다.
chown as required
find . -type d -exec chmod 770 {} \;
find . -type f -exec chmod 660 {} \;
find . -type d -exec chmod g+s {} \;
setfacl -Rdm g::rw .
setfacl -Rdm u::rw .
setfacl -Rdm o::- .
새로 생성된 하위 디렉터리(소유자 또는 그룹별)는 770 대신 660 권한을 가지므로 입력할 수 없다는 점을 제외하면 원하는 결과가 생성됩니다. 새 파일에 대한 기본 권한을 변경하지 않고 이 문제를 어떻게 해결할 수 있나요?
현재는 새 하위 디렉터리를 만든 후에 이 작업을 수행해야 합니다.
chmod ug+x <sub-directory>
사용자가 이 작업을 수행하는 방법을 모르는 경우가 많기 때문에 이 수동 단계를 제거하고 싶습니다. 나는 그들이 파일 관리자에 디렉토리를 생성하고 즉시 액세스할 수 있기를 원합니다.
업데이트: 모든 사용자의 umask 설정은 다음과 같습니다.
cat /etc/profile
# /etc/profile
umask 006
답변1
실행 권한이 전혀 없는 기본 ACL을 설정하므로 누구도 실행 권한을 갖지 않습니다. 대신 Patrick이 설명에서 언급한 것처럼 권한을 사용하여 기본 ACL을 설정하세요 X
. 소문자는 x
ACL 항목이 실행 권한을 부여함을 나타냅니다. 대문자 사용은 사용자(일반적으로 소유자)에게 실행 권한이 있는 경우에만 X
실행 권한을 부여합니다 .
특별한 일을 하지 않는 이상 항상ACL이 있는 곳에 X
기본 ACL을 배치합니다.r
. 파일이나 디렉터리를 읽을 수는 있지만 실행할 수는 없으며 그 반대의 경우도 마찬가지입니다. Unix는 실행 및 읽기를 별도의 권한으로 구현하고 디렉터리의 경우 탐색 및 목록을 별도의 권한으로 구현하지만 이것이 필요한 경우는 거의 없습니다. 일반적으로 사용자 그룹이 파일을 수정할 수 있지만 더 큰 사용자 그룹도 허용됩니다. 그룹은 파일을 수정하지 않고 액세스합니다. 일반 파일의 경우 파일은 실행 가능하거나 실행 가능하지 않을 수 있지만 속성은 액세스하려는 사람에 따라 달라지지 않습니다.
setfacl -Rdm g::rwX .
setfacl -Rdm u::rwX .
setfacl -Rdm o::- .