acl
คำถามนี้เป็นแบบที่ดีสำหรับลินุกซ์ เนื่องจากคุณไม่ได้ระบุระบบปฏิบัติการของคุณฉันจะถือว่า Linux เป็นดังนี้ นี่คือตัวอย่างเซสชัน
ฉันไม่รู้จักการacl
สอนที่ดีจริงๆแต่คุณทำได้แย่กว่าhttp://www.vanemery.com/Linux/ACL/linux-acl.html
โปรดทราบว่าค่าเริ่มต้นacl
จะทำงานเหมือน umask ในเครื่อง ตั้งแต่อย่างน้อยใน Linux, umasks ถูกนำไปใช้ทั่วโลกนี่เป็นวิธีเดียวที่ฉันรู้ว่าจะได้รับผลของ umask ในท้องถิ่น ด้วยเหตุผลบางอย่างนี้เป็นคุณสมบัติที่รู้จักกันเล็กน้อย สุทธิเป็นที่ทิ้งกระจุยกระจายกับคนถามเกี่ยวกับการแทนที่ umask ท้องถิ่น acl
แต่เกือบจะดูเหมือนไม่มีใครคิดว่าการใช้
นอกจากนี้โปรดทราบว่าคุณต้องติดตั้งพาร์ติชันที่คุณกำลังทำงานด้วยacl
การสนับสนุนเช่น
/dev/mapper/debian-acl /mnt/acl ext3 defaults,acl 0 2
เซสชันดังต่อไปนี้:
/mnt/acl$ mkdir foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: faheem
user::rwx
group::r-x
other::r-x
ตั้งกลุ่มของfoo
ที่จะเป็นstaff
และการตั้งค่า ACL ของผู้ใช้และกลุ่มของการfoo
rwx
/mnt/acl$ chgrp staff foo
/mnt/acl$ setfacl -R -m u::rwx,g::rwx foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
ตั้งค่า acls เริ่มต้นของผู้ใช้และกลุ่มrwx
เป็นเช่นกัน foo
นี้กำหนดสิทธิ์ที่ไฟล์และไดเรกทอรีสืบทอดมาจาก ดังนั้นไฟล์และไดเรกทอรีทั้งหมดที่สร้างขึ้นภายใต้ foo rw
จะมีสิทธิ์ของกลุ่ม
/mnt/acl$ setfacl -d --set u::rwx,g::rwx,o::- foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::---
ตอนนี้สร้างไฟล์บางอย่างในการfoo
เป็นผู้ใช้และfaheem
john
/mnt/acl$ cd foo
/mnt/acl/foo$ touch bar
# switch to user john for this next command.
/mnt/acl/foo$ touch baz
รายการไฟล์ ขอให้สังเกตว่าทั้งไฟล์ที่เป็นของfaheem
และไฟล์ที่เป็นเจ้าของโดยถูกสร้างขึ้นด้วยสิทธิ์ของกลุ่มjohn
rw
/mnt/acl/foo$ ls -la
total 3
drwxrwxr-x+ 2 faheem staff 1024 May 9 01:22 .
drwxr-xr-x 4 faheem faheem 1024 May 9 01:20 ..
-rw-rw---- 1 faheem faheem 0 May 9 01:20 bar
-rw-rw---- 1 john john 0 May 9 01:22 baz