สมมติว่าผมมีสองผู้ใช้ในระบบ Debian GNU / Linux: และme
ทั้งสองเป็นสมาชิกของกลุ่มotheruser
shared-media
ฉันสามารถสร้างไดเรกทอรีที่สามารถเขียนได้โดย:
$ sudo mkdir /srv/media/test-parent
$ sudo chown root:shared-media /srv/media/test-parent
$ sudo chmod g+w /srv/media/test-parent
$ sudo chmod g+s /srv/media/test-parent
$ ls -dlh /srv/media/test-parent
drwxrwsr-x 2 root shared-media 4.0K Apr 28 19:35 /srv/media/test-parent
ตอนนี้otheruser
ฉันสร้างไดเรกทอรีและไฟล์ภายใน:
$ sudo -u otheruser mkdir /srv/media/test-parent/zztest
$ sudo -u otheruser touch /srv/media/test-parent/zztest/one
น่าเสียดายที่สมาชิกคนอื่น ๆ ในกลุ่มไม่สามารถลบไฟล์ใหม่นี้ได้ (ถือว่าผู้ใช้ปัจจุบันคือme
):
$ ll /srv/media/test-parent/zztest/one
-rw-r--r-- 1 otheruser shared-media 0 Apr 28 19:36 /srv/media/test-parent/zztest/one
$ rm /srv/media/test-parent/zztest/one
rm: remove write-protected regular empty file ‘/srv/media/test-parent/zztest/one’? y
rm: cannot remove ‘/srv/media/test-parent/zztest/one’: Permission denied
ฉันจะตั้งค่าการอนุญาตอย่างไรเพื่อให้สามารถotheruser
สร้างไฟล์ที่สามารถเขียนและลบได้โดยสมาชิกกลุ่มคนอื่น ๆ เท่านั้น?
setfacl
มีอยู่จริง ฉันสันนิษฐานใหม่+
ในตอนท้ายของการอนุญาตไดเรกทอรี (drwxrwsr-x+
) อยู่ที่นั่นเพื่อระบุว่า ACL ที่แตกต่างกันมีการตั้งค่าสำหรับไดเรกทอรีนี้