Linux - สมาชิกกลุ่มไม่สามารถลบไฟล์ที่มีสิทธิ์ rw


15

ด้านล่างแสดงไฟล์ซึ่งuser1/tmp/testfileเป็นเจ้าของโดยเปลี่ยนกลุ่มเป็นwheelซึ่งรวมถึงuser2ด้วย ไฟล์มีสิทธิ์สำหรับกลุ่ม ดังนั้นสมาชิกในกลุ่มจึงไม่สามารถลบได้ ผลลัพธ์ตัวอย่างด้านล่างแสดงว่าuser2ไม่สามารถลบไฟล์ได้ ทำไม?rw

[user2@files ~]$ ls -l /tmp/testfile
-rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile
[user2@files ~]$ groups
user2 wheel
[user2@files ~]$  rm /tmp/testfile
rm: cannot remove `/tmp/testfile': Operation not permitted


นอกจากคำอธิบายที่สมบูรณ์โดย @grawity ทางออกที่ดีคือการสร้างไดเรกทอรี 'ของคุณเอง' ภายใต้tmpและแก้ไขสถานการณ์ที่เหนียว
fcm

คำตอบ:


30

ก่อนอื่นคุณต้องดูการอนุญาตที่ผิด เมื่อคุณย้าย / เปลี่ยนชื่อ / ลบไฟล์คุณเพียงแค่ปรับเปลี่ยนไดเรกทอรีหลัก - ไม่ได้ตรวจสอบการอนุญาตของไฟล์เอง คุณลบรายการออกจากรายการไฟล์ของไดเรกทอรีเท่านั้น ดังนั้นคุณควรตรวจสอบการอนุญาตของไดเรกทอรีหลัก (ในกรณีนี้/tmp)

$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/

ประการที่สอง/tmpเป็นพิเศษ ในทุกระบบมันสามารถเขียนได้โดยทุกคน ( ugo=rwx) ดังนั้นเมื่อมองในครั้งแรกดูเหมือนว่าทุกคนสามารถเปลี่ยนชื่อหรือลบไฟล์ใด ๆ ในนั้นได้ แน่นอนว่านี่จะทำให้ง่าย (ดียิ่งขึ้น) เพื่อสร้างปัญหาให้กับผู้ใช้รายอื่น/tmpมีการตั้งค่าโหมด "เหนียว" aka "การลบแบบ จำกัด " ( o+t) ด้วยการตั้งค่าโหมดนี้เฉพาะเจ้าของไฟล์เท่านั้นที่สามารถย้ายหรือลบไฟล์ในไดเรกทอรีนั้นได้โดยไม่ต้องคำนึงถึงสิทธิ์ใด ๆ

(บน GNU coreutils chmod(1)หน้าคู่มือมีส่วนเกี่ยวกับ"การลบการตั้งค่าสถานะหรือบิตเหนียว" )


ฉันกำลังเผชิญกับปัญหาเดียวกันเนื่องจากจุดที่สองของการอนุญาตพิเศษเหนียว ฉันพยายามลบchmod o-t /tmpแล้วลองอีกครั้งเพื่อลบไฟล์ แต่ก็ยังคงบ่นเหมือนเดิม
Shashank Agrawal

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