Linux - anggota grup tidak dapat menghapus file dengan izin rw

15

Di bawah ini menunjukkan file,, /tmp/testfilemilik pengguna1 dengan grup diubah ke roda yang juga termasuk pengguna2 . File tersebut memiliki rwizin untuk grup. Jadi bukankah seharusnya ada anggota grup yang dapat menghapusnya? Contoh output di bawah ini menunjukkan bahwa user2 tidak dapat menghapus file. Mengapa?

[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
pengguna347765
sumber
Selanjutnya untuk penjelasan lengkap oleh @grawity, solusi yang baik adalah membuat direktori 'sendiri' Anda di bawah tmpdan memperbaiki situasi lengket
fcm

Jawaban:

30

Pertama, Anda melihat izin yang salah. Saat Anda memindahkan / mengganti nama / menghapus file, Anda hanya memodifikasi direktori induk - izin file itu sendiri tidak dicentang. Anda hanya menghapus entri dari daftar file direktori. Karena itu Anda harus memeriksa izin direktori induk (dalam hal ini /tmp).

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

Kedua, /tmpspesial. Pada hampir semua sistem, ini dapat ditulis oleh siapa saja ( ugo=rwx), jadi pada pandangan pertama, sepertinya siapa saja dapat mengganti nama atau menghapus file apa pun di dalamnya. Ini tentu saja akan membuatnya mudah (well, bahkan lebih mudah) untuk membuat masalah bagi pengguna lain, oleh karena itu /tmpselalu memiliki set mode "sticky" alias "pembatasan penghapusan" ( o+t). Dengan mode ini disetel, hanya pemilik file yang dapat memindahkan atau menghapus file di direktori itu, terlepas dari izin apa pun.

(Pada GNU coreutils, chmod(1)halaman manual memiliki bagian tentang "bendera penghapusan terbatas atau bit lengket" .)

pengguna1686
sumber
Saya menghadapi masalah yang sama karena poin kedua izin khusus lengket. Saya mencoba untuk menghapusnya chmod o-t /tmpdan kemudian mencoba kembali untuk menghapus file, tetapi masih mengeluh sama.
Shashank Agrawal
1
Tidak hanya pemilik file dapat menghapus file di bawah direktori tersebut, tetapi juga root dan pemilik direktori (misalnya / tmp).
wulfgarpro