ACL 권한은 신비롭게도 그룹 실행 권한을 부여합니다.

ACL 권한은 신비롭게도 그룹 실행 권한을 부여합니다.

다음을 수행했지만 최종 결과를 이해하지 못합니다.

$ 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--

따라서 제가 예상하는 상황은 다음과 같습니다.

  1. 디렉토리를 생성하고 해당 디렉토리에 새로 생성된 파일에 대한 기본값을 설정합니다. (디렉토리인 경우 "X"는 실행 가능하고 이미 실행 가능한 경우 일반 파일에 대해서만 실행 가능합니다.)
  2. touch"rw-rw-r--" 권한과 "rwx" 마스크를 사용하여 새 파일을 만듭니다.
  3. setfacl -m g::rwX mydir/test.txt파일에 마스크가 "rwx"인 "rw-" 그룹이 이미 있어야 하므로 어떤 작업도 수행해서는 안 됩니다.

실제로 일어나는 일은 다음과 같습니다.

  1. 보고서용으로 생성된 기본 디렉터리는 다음과 같습니다.
    default:user::rwx
    default:group::rwx
    default:mask::rwx
    default:other::r-x
  1. touch"rw-rw-r--"라는 파일을 만드세요. ls그러나 getfacl표시된 그룹 권한은 실제로는 "rwx"입니다. 마스크는 기본 "rwx" 대신 "rw-"이기 때문에 "rw-"로 마스크됩니다.
  2. test.txt는 이미 "rwx" 그룹이므로 setfacl -m g::rwX mydir/test.txt그룹 권한은 변경되지 않지만 마스크가 "rwx"로 다시 계산되어 이제 그룹에 대한 "x" 권한이 표시됩니다 ls.

디렉터리의 기본 마스크가 새 파일에 적용되지 않는 이유는 무엇입니까? 새 파일에 대한 그룹 권한에 실행 비트가 포함되는 이유는 무엇입니까?

이것은 getfaclmydir에 있습니다:

# 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"만 표시되는 이유는 무엇입니까 ?

관련 정보