cp를 사용하여 복사된 파일에 기본 ACL에 따라 설정된 권한이 없는 이유는 무엇입니까?

cp를 사용하여 복사된 파일에 기본 ACL에 따라 설정된 권한이 없는 이유는 무엇입니까?

질문은 다음과 같습니다.cp가 ACL을 존중하지 않는 이유는 무엇입니까? 서버 장애에 대해/home/myuser하지만 한 가지 다릅니다. 폴더와 하위 폴더에 생성된 새 파일에 대한 기본 권한을 설정했습니다.

setfacl -dR -m u::rwx,g::rx,o::rx ~ 2> /dev/null

getfacl ~명령은 다음과 같은 출력을 제공합니다.

getfacl: Removing leading '/' from absolute path names
# file: home/lohacker
# owner: lohacker
# group: lohacker
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:other::r-x

cp폴더 ACL 권한은 새 파일을 생성할 때 적용되지만 소스 파일에 대한 권한은 유지하지 않더라도 명령을 사용하여 새 파일을 복사하지 않습니다 .
예를 들어 다음과 같은 함수가 있습니다.

cp () {
    command cp -a --no-preserve=mode,ownership --remove-destination "$@"
    return $?
}

내가 현재 위치에 있다고 가정해 보겠습니다 ~.

> file.txt
cp file.txt file2.txt
ls -l file.txt file2.txt
getfacl file.txt file2.txt

나에게 출력을 제공합니다 :

-rw-rw-r-- 1 lohacker lohacker 0 Jul 26 13:05 file2.txt
-rw-r--r-- 1 lohacker lohacker 0 Jul 26 13:05 file.txt

# file: file.txt
# owner: lohacker
# group: lohacker
user::rw-
group::r--
other::r--

# file: file2.txt
# owner: lohacker
# group: lohacker
user::rw-
group::rw-
other::r--

나는 두 파일을 모두 예상했지만 -rw-r--r--불행히도 그렇지 않습니다. 소스 파일의 권한을 유지하지 않고도
명령을 사용하여 문제를 해결할 수 있는 방법이 있습니까 ?cp

답변1

setfacl -bR ~ 2> /dev/nullACL을 사용하지 않고 명령을 사용하여 기본 권한을 변경할 수 있었기 때문에 해결책은 파일의 한 줄을 umask주석 처리하는 것이었습니다 . /etc/login.defs이것:

UMASK       022

이 되다:

#UMASK      022

UMASK에서 설정을 해제 하면 /etc/login.defs값이 더 이상 으로 USERGROUPS_ENAB설정된 변수 value 의 영향을 받지 않으므로 yes편리합니다. 왜냐하면 이를 사용하면 명령을 실행할 때 deluser사용자 uid와 동일한 gid 및 사용자와 동일한 이름을 가진 그룹이 생성되기 때문입니다. 도 삭제됩니다(그룹에 다른 구성원이 없는 경우). 나중에 삭제할 필요가 없습니다.

# If USERGROUPS_ENAB is set to "yes", that will modify this UMASK default value
# for private user groups, i. e. the uid is the same as gid, and username is
# the same as the primary group name: for these, the user permissions will be
# used as group permissions, e. g. 022 will become 002.

이런 방식으로 cp 명령은 -rw-r--r--권한이 유지되지 않더라도 복사된 파일에 권한을 부여합니다.

이것은 일반 공식입니다:

perl -pi -e 's/^\h*(UMASK\h+.*[^\h])\h*$/#\1/i' /etc/login.defs

관련 정보