ฉันกำลังทำการทดลองขนาดเล็กที่มีบิตสิทธิ์พิเศษดังนี้
[root@localhost~]# useradd user1
[root@localhost~]# cp /bin/touch /home/
[root@localhost~]# chown user1:user1 /home/touch
[root@localhost~]# chmod u+s,g+s /home/touch
[root@localhost~]# ls -l /home/touch
-rwsr-sr-x 1 user1 user1 52656 Jun 26 14:17 /home/touch
[root@localhost~]# chmod o+w /usr/local/etc/
[root@localhost~]# ls -ld /usr/local/etc
drwxr-xrwx.2 root root 4096 Jun 26 14:14 /usr/local/etc/
[root@localhost~]# /home/touch /usr/local/etc/root.1
/home/touch: cannot touch '/usr/local/etc/root.1': Permission denied
เนื่องจากทั้ง suid bit และ sgid bit ถูกตั้งค่าไว้สำหรับ executable /home/touch
ฉันคาดหวังว่าเมื่อ root รันคำสั่ง/home/touch /usr/local/etc/root.1
ประสิทธิภาพที่user:group
ควรจะเป็นuser1:user1
ซึ่งควรมีการเข้าถึงการเขียนไปยัง/usr/local/etc
ไดเรกทอรี (ดูo=rwx
)
แต่ผลที่ได้ทำให้ฉันงง ที่จริงแล้วทุกคนที่อยู่ในroot
กลุ่มจะล้มเหลวเหมือนรูท แต่ผู้ใช้รายอื่นสามารถรันคำสั่งด้านบนได้สำเร็จ
หลังจากที่ฉันเปลี่ยนโหมดไดเรกทอรีโดยchmod g+w /usr/local/etc
ผู้ใช้ที่อยู่ในroot
กลุ่มสามารถเรียกใช้คำสั่งได้โดยไม่มีข้อผิดพลาดในการอนุญาต
ไม่ควรเป็นผู้ใช้ที่มีประสิทธิภาพ: กลุ่มสำหรับทุกคนที่ทำงาน/home/touch
อยู่user1:user1
ใช่หรือไม่ เกิดอะไรขึ้นกับกลุ่มรูท ฉันคิดถึงอะไรเหรอ?
ฉันทำการทดลองกับ RHEL 6.4 64 บิต
ไดเรกทอรีหรือไฟล์ที่มี ACL นั้นลงท้ายด้วยเครื่องหมาย "+" แทน "."
—
yuanlinios
ฉันดูเอกสาร 'ls' มันบอกว่า: GNU 'ls' ใช้ '' เพื่อระบุไฟล์ที่มีบริบทความปลอดภัยของ SELinux ในสภาพแวดล้อมของฉันฟีเจอร์ SELinux ถูกปิดใช้งาน
—
yuanlinios
/usr/local/etc
(“drwxr-xrwx.
”) ลงท้ายด้วยจุด นี่อาจหมายความว่าไดเรกทอรีมี ACL คุณช่วยตรวจสอบได้ไหม