새 파일에 그룹 쓰기 권한이 부여되지 않는 이유는 무엇입니까?

새 파일에 그룹 쓰기 권한이 부여되지 않는 이유는 무엇입니까?

개별 사용자의 umask 설정에 관계없이 모든 새 파일이 그룹 쓰기 가능하도록 디렉토리를 설정하고 싶습니다.

그룹 을 만들고 stor모든 사용자를 그룹에 추가했습니다. 그런 다음 폴더를 만들었습니다.

$ mkdir uaroot
$ chgrp stor uaroot
$ ls -l
total 4
drwxr-xr-x  2 ua  stor  512 Dec 27 14:35 uaroot

이에 대해 ACL을 설정했습니다.

$ setfacl -d -m u::rwx,g::rwx,o::rx,mask::rwx uaroot
$ setfacl -m u::rwx,g::rwx,o::rx,mask::rwx uaroot
$ ls -l
total 8
drwxrwxr-x+ 2 ua  stor  512 Dec 27 14:35 uaroot

ACL이 다음과 같이 설정된 것을 볼 수 있습니다.

$ getfacl uaroot
# file: uaroot
# owner: ua
# group: stor
user::rwx
group::rwx
mask::rwx
other::r-x

$ getfacl -d uaroot
# file: uaroot
# owner: ua
# group: stor
user::rwx
group::rwx
mask::rwx
other::r-x

나는 이것이 해당 디렉토리의 파일을 자동으로 그룹 쓰기 가능하게 만들 것이라고 생각했지만 그렇지 않습니다.

$ cd uaroot
$ touch a
$ ls -l
total 4
-rw-r--r--+ 1 ua  stor  0 Dec 27 14:38 a

$ getfacl a
# file: a
# owner: ua
# group: stor
user::rw-
group::rwx      # effective: r--
mask::r--
other::r--

위 표기법은 무엇을 effective의미하나요? 모든 파일에 대해 그룹 쓰기 가능 권한을 얻으려면 무엇을 놓치고 있습니까?

답변1

d 옵션 setfacl -m ::rwx,g::rwx,o::rx,mask::rwx uaroot없이 런타임에 이전 설정을 취소하고 객체 의 현재 ACL 설정을 사용하고 , 원하는 것을 얻으려면 rerun을 사용하십시오.--mmodifies-d

setfacl -d -m u::rwx,g::rwx,o::rx,mask::rwx uaroot

내 테스트 결과는 다음과 같습니다.

-rw-rw-r--+ 1 georgek georgek 0 Dec 28 08:04 koko/a

default두 번째 명령을 실행한 이후 setfacl키워드가 누락되었습니다 . 당신은 볼 필요가

# file: koko/
# owner: georgek
# group: georgek
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r-x

이 폴더에 새로 생성된 파일에 기본값이 적용되는지 확인하세요. getfacl내 테스트에서 생성된 파일은 다음과 같습니다.

# file: koko/a
# owner: georgek
# group: georgek
user::rw-
group::rwx                      #effective:rw-
mask::rw-
other::r--

관련 정보