다음을 수행했지만 최종 결과를 이해하지 못합니다.
$ mkdir mydir
$ setfacl -d -m u::rwX,g::rwX,o::rX,m::rwx mydir
$ touch mydir/test.txt
$ getfacl mydir/test.txt
# file: mydir/test.txt
# owner: ubuntu
# group: ubuntu
user::rw-
group::rwx #effective:rw-
mask::rw-
other::r--
$ setfacl -m g::rwX mydir/test.txt
$ getfacl mydir/test.txt
# file: mydir/test.txt
# owner: ubuntu
# group: ubuntu
user::rw-
group::rwx
mask::rwx
other::r--
따라서 제가 예상하는 상황은 다음과 같습니다.
- 디렉토리를 생성하고 해당 디렉토리에 새로 생성된 파일에 대한 기본값을 설정합니다. (디렉토리인 경우 "X"는 실행 가능하고 이미 실행 가능한 경우 일반 파일에 대해서만 실행 가능합니다.)
touch
"rw-rw-r--" 권한과 "rwx" 마스크를 사용하여 새 파일을 만듭니다.setfacl -m g::rwX mydir/test.txt
파일에 마스크가 "rwx"인 "rw-" 그룹이 이미 있어야 하므로 어떤 작업도 수행해서는 안 됩니다.
실제로 일어나는 일은 다음과 같습니다.
- 보고서용으로 생성된 기본 디렉터리는 다음과 같습니다.
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r-x
touch
"rw-rw-r--"라는 파일을 만드세요.ls
그러나getfacl
표시된 그룹 권한은 실제로는 "rwx"입니다. 마스크는 기본 "rwx" 대신 "rw-"이기 때문에 "rw-"로 마스크됩니다.- test.txt는 이미 "rwx" 그룹이므로
setfacl -m g::rwX mydir/test.txt
그룹 권한은 변경되지 않지만 마스크가 "rwx"로 다시 계산되어 이제 그룹에 대한 "x" 권한이 표시됩니다ls
.
디렉터리의 기본 마스크가 새 파일에 적용되지 않는 이유는 무엇입니까? 새 파일에 대한 그룹 권한에 실행 비트가 포함되는 이유는 무엇입니까?
이것은 getfacl
mydir에 있습니다:
# file: mydir
# owner: ubuntu
# group: ubuntu
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r-x
getfacl
기본 설정에 "X"(대문자)가 포함되지 않고 "x"만 표시되는 이유는 무엇입니까 ?