วิธีทั่วไปในการตั้งค่าไดเรกทอรีสำหรับการแชร์ไฟล์ภายในกลุ่มคือ:
$ mkdir foo
$ chgrp felles foo
$ chmod g+ws foo
$ setfacl -m group:felles:rwx foo
$ setfacl -dm group:felles:rwx foo
สิ่งนี้ทำให้มั่นใจได้ว่าไฟล์ใด ๆ ที่สร้างขึ้นfoo
สามารถอ่านและเขียนได้โดยกลุ่มfelles
:
$ umask
0022
$ echo hi > foo/bar
$ ls -l foo
total 4
-rw-rw-r--+ 1 bhm felles 3 2010-09-23 00:18 bar
อย่างไรก็ตามหากคุณคัดลอกไฟล์ลงfoo
ใน ACL เริ่มต้นจะไม่ถูกนำไปใช้:
$ echo you > baz
$ cp baz foo/
$ ls -l foo
total 8
-rw-rw-r--+ 1 bhm felles 3 2010-09-23 00:18 bar
-rw-r--r--+ 1 bhm felles 4 2010-09-23 00:19 baz
$ getfacl foo/baz
# file: foo/baz
# owner: bhm
# group: felles
user::rw-
group::rwx #effective:r--
group:felles:rwx #effective:r--
mask::r--
other::r--
ทำไมสิ่งนี้ถึงเกิดขึ้นและมีวิธีแก้ไขไหม?
( การย้ายไฟล์ไปยังไดเรกทอรีไม่เกี่ยวข้องกับ ACLs หรือความเป็นเจ้าของกลุ่ม แต่ฉันเข้าใจได้ว่าทำไม: คุณอาจไม่ต้องการให้สิทธิ์การเปลี่ยนแปลงไฟล์เพียงเพราะคุณเปลี่ยนชื่อ)