Ini sepertinya sangat aneh bagi saya. Saya menjalankan kernel 2.6.37.2 dan berlari:
~]$ cp -r /proc/ here
~]$ rm -rf here
Saya mendapatkan beberapa izin yang ditolak ketika menyalin seperti yang diharapkan dan saya akhirnya menekan Control-C. Saya mendapatkan Permission denied
banyak file ketika mencoba untuk menghapus direktori dan file baru.
Sebagai catatan, saya menemukan perilaku aneh ini karena seorang teman mengirimi saya .tgz
sebuah snapshot dari /proc
dir- nya . Saya mengekstrak direktori dan ketika saya selesai melihat-lihat, saya memiliki masalah yang sama.
rm -rf
sebagai root berhasil.
lsattr
memperlihatkan atribut e (yang ditunjukkan oleh semua file / direktori saya).
permissions
rm
cacat
sumber
sumber
/proc
. Ngomong-ngomong, ini agak terlambat untuk kali ini, tetapi jika Anda mengetahui jawabannya setelah memposting pertanyaan, tidak apa-apa untuk menjawabnya sendiri , dan serahkan untuk orang lain yang mungkin mengalami masalah serupa.Jawaban:
Jika ada direktori tidak kosong di mana Anda tidak memiliki izin menulis, Anda tidak dapat menghapus isinya.
Alasannya adalah bahwa
rm
itu terikat oleh izin seperti perintah lain, dan izin untuk menghapusbar
memerlukan izin tulisfoo
. Ini tidak berlaku ketika Anda menjalankanrm
sebagai root karena root selalu memiliki izin untuk menghapus file.Untuk membuat pohon direktori dapat dihapus, buat semua direktori di dalamnya dapat ditulisi (izin file biasa tidak masalah saat dihapus
rm -f
). Anda dapat menggunakan salah satu dari perintah ini:sumber