사용자 bala-sftp가 있습니다. 사용자가 /balab/settlement/report 폴더에 파일을 쓸 때마다 현재
-rw-rw-r-- 1 bala-sftp sftponly 5295 Oct 18 19:00 settlementreport_switch_20201018.csv
하지만 허가를 받아야 해
-rw-r----- 1 bala-sftp sftponly 5295 Oct 18 19:00 settlementreport_switch_20201018.csv
setfacl을 통해 어떻게 이를 달성할 수 있나요?
답변1
이렇게 하면 생성된 새 파일을 /balab/settlement/report
그룹에서 읽을 수는 있지만 쓸 수는 없게 됩니다.
setfacl -m -d g::r /balb/settlement/report
실제적인 예는 다음과 같습니다.
stew ~$ umask 0002 # New files will be -rw-rw-r-- like yours
stew ~$ cd $(mktemp -d) # Going to a new directory
stew /tmp/tmp.JgZyxzKcf8 $ getfacl . # It has no ACL rules yet
# file: .
# owner: stew
# group: stew
user::rwx
group::---
other::---
stew /tmp/tmp.JgZyxzKcf8 $ touch before # File to demonstrate pre-ACL rule
stew /tmp/tmp.JgZyxzKcf8 $ setfacl -d -m g::r . # Set the default acls to group-read-only
stew /tmp/tmp.JgZyxzKcf8 $ touch after # File to demonstrate post-ACL rule
stew /tmp/tmp.JgZyxzKcf8 $ ls -lr
total 0
-rw-rw-r-- 1 stew stew 0 Nov 2 12:39 before # Pre-ACL is world readable
-rw-r----- 1 stew stew 0 Nov 2 12:39 after # Post-ACL is group readable only
새로운 쓰기 가능한 파일은 약간 이상합니다. bala-sftp
출력 umask
이 (Linux 기본값) 인 경우 0022
기존 ACL을 삭제해야 할 수도 있습니다. 이 작업을 수행하는 데 사용합니다 setfacl -b /balb/settlement/report
. 나는 bala-sftp
그렇게 생각하므로 테스트 중에 설정을 그렇게 설정 umask
했습니다 0002
.umask