สิทธิ์ ACL ได้รับการประมวลผลอย่างไรและใช้ในการดำเนินการของผู้ใช้ที่ได้รับในลำดับใด


21

CentOS 6.4

ฉันพยายามเข้าใจวิธีการประมวลผลกฎของระบบไฟล์ ACL และวิธีการใช้กฎ ACL ตามลำดับ

ตัวอย่างเช่นสมมติว่าผู้ใช้ bob และ joe อยู่ในกลุ่มที่เรียกว่าการขาย สมมติว่าฉันมีเอกสารการขายที่มีรายละเอียดดังต่อไปนี้:

[root@Maui ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---

คำถามของฉันคือการประมวลผลการอนุญาตในตัวอย่างเช่นนี้และสิทธิ์การเข้าถึงใดที่มีความสำคัญกว่า

มีเพียงการค้นหาจากบนลงล่างและสิ่งที่ตรงกับกฎแรกคือสิ่งที่ใช้?

หรือ Linux บังคับใช้การเข้าถึงตามกฎที่เฉพาะเจาะจงที่สุดสำหรับผู้ใช้ที่สงสัย หรือบางทีกฎที่เข้มงวดที่สุด

คำตอบ:


15

นี่เป็นหัวข้อกว้าง ๆ และครอบคลุมมากเกินไปเล็กน้อยที่นี่ ฉันจะอ้างถึงรายการควบคุมการเข้าถึง 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 แบบดั้งเดิม

อ้างอิง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.