ฉันถามคำถามเดียวกันนี้สำหรับนักศึกษาดรอปบ็อกซ์ในรายชื่อผู้รับจดหมายของแซมบ้าเมื่อไม่กี่ปีก่อน คุณต้องเพิ่มคุณสมบัติ acl ในระบบไฟล์ของคุณ (จากแพ็คเกจ acl) นี่คือคำตอบของ Jeremy Allison ...
ตกลงปัญหาคือนักเรียนต้องสามารถอ่านไดเรกทอรีที่มีเพื่อให้สามารถลากและวางไฟล์ใหม่ที่นั่น เหตุผลก็คือว่าแซมบ้าจำเป็นต้องสามารถสแกนไดเรกทอรีในนามของพวกเขาเพื่อทำการค้นหาแบบตัวเล็ก
แต่ตราบใดที่คุณไม่รังเกียจที่จะอนุญาตให้นักเรียนเห็นชื่อของไฟล์อื่น ๆ คุณสามารถตั้งค่า DropBox เพื่อให้นักเรียนสามารถเขียนลงไป (และไฟล์ของตนเอง) แต่ไม่สามารถแก้ไขหรือดูไฟล์อื่น ๆ ได้
ประการแรกคุณต้องการตรวจสอบให้แน่ใจว่าไฟล์ที่สร้างในไดเรกทอรี DropBox ไม่ได้เป็นของกลุ่มหลักของนักเรียน แต่โดยกลุ่มเจ้าของของ DropBox direcotry ดังนั้น:
chgrp ครู DropBox
เพื่อให้เป็นเจ้าของโดยกลุ่มครู จากนั้นตั้งบิต setgid ในไดเรกทอรี DropBox เพื่อให้แน่ใจว่าไฟล์ที่สร้างขึ้นภายในนั้นมีกลุ่มครูที่เป็นเจ้าของ
chmod g + s DropBox
จากนั้นตรวจสอบให้แน่ใจว่าไฟล์ใน DropBox สามารถเปลี่ยนชื่อหรือลบโดยเจ้าของไฟล์เท่านั้นหรือโดยเจ้าของไดเรกทอรีหรือโดย root (สิทธิ์เดียวกันกับที่ / tmp มี)
chmod + t DropBox
จากนั้นให้นักเรียนเขียนลงในไดเรกทอรีโดยเพิ่ม ACL
setfacl -mg: นักเรียน: rwx DropBox
ตราบใดที่ defaul acl ถูกตั้งค่าไว้เพื่อให้ "ผู้อื่น" ไม่มีสิทธิ์ไฟล์ที่เขียนโดยนักเรียนลงในไดเรกทอรีนั้นจะเป็นของตัวเอง แต่จะมีกลุ่ม "ครู" เป็นเจ้าของและนักเรียนจะไม่สามารถอ่านแต่ละรายการได้ ไฟล์อื่น ๆ
หากคุณต้องการทำให้ไฟล์เป็นเจ้าของโดยเจ้าของไดเรกทอรีไม่ใช่นักเรียนที่สร้างไฟล์ขึ้นมาคุณจะต้องตั้งค่าการแชร์แยกต่างหากตามที่อธิบายข้างต้น แต่จากนั้นเพิ่มพารามิเตอร์ระดับการแชร์:
เจ้าของสืบทอด = ใช่
ซึ่งจะทำให้ไฟล์ที่สร้างขึ้นภายในไดเรกทอรีในการแบ่งปันนั้นจะเป็นเจ้าของโดยไดเรกทอรีที่มีไม่ใช่เจ้าของสร้าง