새로 생성된 디렉터리는 기본적으로 실행 가능해야 합니다.

새로 생성된 디렉터리는 기본적으로 실행 가능해야 합니다.

다음 단계를 사용하여 권한 및 기본 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. 소문자는 xACL 항목이 실행 권한을 부여함을 나타냅니다. 대문자 사용은 사용자(일반적으로 소유자)에게 실행 권한이 있는 경우에만 X실행 권한을 부여합니다 .

특별한 일을 하지 않는 이상 항상ACL이 있는 곳에 X기본 ACL을 배치합니다.r. 파일이나 디렉터리를 읽을 수는 있지만 실행할 수는 없으며 그 반대의 경우도 마찬가지입니다. Unix는 실행 및 읽기를 별도의 권한으로 구현하고 디렉터리의 경우 탐색 및 목록을 별도의 권한으로 구현하지만 이것이 필요한 경우는 거의 없습니다. 일반적으로 사용자 그룹이 파일을 수정할 수 있지만 더 큰 사용자 그룹도 허용됩니다. 그룹은 파일을 수정하지 않고 액세스합니다. 일반 파일의 경우 파일은 실행 가능하거나 실행 가능하지 않을 수 있지만 속성은 액세스하려는 사람에 따라 달라지지 않습니다.

setfacl -Rdm g::rwX .
setfacl -Rdm u::rwX .
setfacl -Rdm o::- .

관련 정보