นี่เป็นหัวข้อกว้าง ๆ และครอบคลุมมากเกินไปเล็กน้อยที่นี่ ฉันจะอ้างถึงรายการควบคุมการเข้าถึง POSIX บนสมุดปกขาวลินุกซ์ของ Andreas Grünbacherจาก SuSE Labs มันเป็นงานที่ดีในการครอบคลุมเรื่องและทำลายมันลงเพื่อให้คุณเข้าใจว่า ACLs ทำงานอย่างไร
ตัวอย่างของคุณ
ตอนนี้ลองมาดูตัวอย่างของคุณและทำลายมัน
- กลุ่ม (ขาย)
- สมาชิกของกลุ่มการขาย (bob, joe)
/home/foo/docs/foo.txt
ตอนนี้ขอหยุดพักลงสิทธิ์ในแฟ้ม ACLs ยังมีการห่อหุ้มการอนุญาตแบบเดียวกันกับที่คนส่วนใหญ่ควรคุ้นเคยกับ Unix, ส่วนใหญ่เป็น User, Group, และบิตอื่น ๆ งั้นลองดึงพวกมันออกก่อน
user:: r--
group::r--
other::---
โดยทั่วไปจะมีลักษณะเช่นนี้ในls -l
:
$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt
คุณสามารถดูว่าใครเป็นเจ้าของไฟล์และกลุ่มคืออะไรกับสาย ACL เหล่านี้:
# owner: jane
# group: executives
ดังนั้นตอนนี้เราเข้าสู่ส่วนที่เป็นกรดของ ACL:
user:bob:rw-
user:joe:rwx
group:sales:rwx
นี้จะแสดงให้เห็นว่าผู้ใช้bob
มีrw
ในขณะที่ผู้ใช้มีjoe
rwx
นอกจากนี้ยังมีกลุ่มที่มีrwx
ลักษณะคล้ายกับโจ การอนุญาตเหล่านี้จะเหมือนกับว่าคอลัมน์ผู้ใช้ในls -l
ผลลัพธ์ของเรามี 3 เจ้าของ (jane, bob และ joe) รวมถึง 2 กลุ่ม (ผู้บริหารและฝ่ายขาย) ไม่มีความแตกต่างนอกเหนือจากที่เป็น ACL
mask
บรรทัดสุดท้าย:
mask::rwx
ในกรณีนี้เราไม่ปิดบังอะไรเลยมันเปิดกว้าง ดังนั้นหากผู้ใช้ bob และ joe มีบรรทัดเหล่านี้:
user:bob:rw-
user:joe:rwx
จากนั้นเป็นสิทธิ์ที่มีประสิทธิภาพ หากหน้ากากเป็นเช่นนี้:
mask::r-x
จากนั้นสิทธิ์ที่มีประสิทธิภาพของพวกเขาจะเป็นเช่นนี้:
user:bob:rw- # effective:r--
user:joe:rwx # effective:r-x
นี่คือกลไกที่มีประสิทธิภาพสำหรับการลดการอนุญาตที่ได้รับในลักษณะขายส่ง
หมายเหตุ:สิทธิ์การเป็นเจ้าของไฟล์และอื่น ๆ ไม่ได้รับผลกระทบจากมาสก์สิทธิที่มีประสิทธิภาพ รายการอื่น ๆ ทั้งหมด! ดังนั้นด้วยความเคารพต่อหน้ากากการอนุญาต ACL จึงเป็นพลเมืองชั้นสองเมื่อเปรียบเทียบกับการอนุญาต Unix แบบดั้งเดิม
อ้างอิง