디렉터리 또는 폴더에 대한 액세스 제어 목록 및 권한

디렉터리 또는 폴더에 대한 액세스 제어 목록 및 권한

사용자 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

관련 정보