GNU/Linux >> Belajar Linux >  >> Linux

Tidak dapat menghapus file dengan mode file bit a+rw

/tmp direktori biasanya ditandai dengan penghapusan terbatas bendera, yang muncul sebagai surat izin t atau T di ls keluaran.

Penghapusan terbatas menyiratkan beberapa hal. Dalam kasus umum, ini menyiratkan bahwa hanya pemilik file, atau pemilik /tmp sendiri, dapat menghapus file/direktori di /tmp .

Anda tidak dapat menghapus file tersebut, karena Anda bukan pemiliknya, yaitu root . Coba jalankan rm dengan sudo yang mungkin Anda lupakan.

sudo rm /tmp/test

Lebih khusus untuk Linux saja, tanda penghapusan terbatas (pada direktori yang dapat ditulis dunia seperti /tmp ) juga mengaktifkan protected_symlinks , protected_hardlinks , protected_regular , dan protected_fifos pembatasan, yang masing-masing dalam direktori tersebut mencegah pengguna mengikuti tautan simbolis yang bukan miliknya, mencegah pengguna membuat tautan keras ke file yang bukan miliknya, mencegah pengguna membuka FIFO yang bukan milik mereka, dan mencegah pengguna membuka file yang sudah ada yang mereka tidak memilikinya ketika mereka berharap untuk membuatnya.

Ini akan mengejutkan Anda dengan kesalahan izin saat melakukan berbagai hal lebih lanjut seperti root saat Anda melakukannya gunakan sudo .

Lebih lanjut tentang ini pada pertanyaan seperti "Perilaku izin tautan keras berbeda antara CentOS 6 dan CentOS 7", "Tautan simbolik tidak berfungsi seperti yang diharapkan saat mengubah pengguna", dan "Izin grup untuk root tidak berfungsi di /tmp".


Masalahnya tampaknya adalah bagian lengket dari /tmp .

$ ls -ld /tmp
drwxrwxrwt⃝   1 root  root  1044 Mar 13 12:09 /tmp

https://en.wikipedia.org/wiki/Sticky_bit

Ketika sticky bit direktori disetel, sistem file memperlakukan file dalam direktori tersebut dengan cara khusus sehingga hanya pemilik file, pemilik direktori, atau pengguna root yang dapat mengganti nama atau menghapus file. Tanpa set sticky bit, setiap pengguna dengan izin tulis dan eksekusi untuk direktori dapat mengganti nama atau menghapus file yang ada, terlepas dari pemilik file. Biasanya ini disetel pada direktori /tmp untuk mencegah pengguna biasa menghapus atau memindahkan file pengguna lain.


Linux
  1. 10+ perintah Linux VI dengan contoh

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Mengapa Rm Dapat Menghapus File Read-only?

  1. Bagaimana systemd-tmpfiles membersihkan /tmp/ atau /var/tmp (pengganti tmpwatch) di CentOS / RHEL 7

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. Tidak dapat menghapus, membersihkan, menghapus mongodb dari debian

  1. Ssh – Mengapa Upaya Penerusan X11 Gagal Dengan “connect /tmp/.x11-unix/x0:No Such File or Directory”?

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. Haruskah situs web berada di /var/ atau /usr/ sesuai dengan penggunaan yang disarankan?