Saya punya beberapa file yang tidak bisa saya hapus menggunakan rf -Rf
perintah. Saya adalah pemilik dari file-file itu dan grup yang ditugaskan ke file-file itu juga merupakan grup yang digunakan oleh pengguna saya. Yang lebih aneh lagi adalah saya dapat mengedit konten mereka dan saya dapat mengubah izin untuknya, tetapi saya tidak dapat memindahkan atau Hapus mereka.
ls -al
total 12
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 ..
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 default.settings.php
drwxrwxrwx 2 rayell pg1083760 4096 2011-09-02 04:33 files
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 settings.php
rm -Rf *
rm: cannot remove `default.settings.php': Permission denied
rm: cannot remove directory `files': Permission denied
rm: cannot remove `settings.php': Permission denied
Adakah yang bisa memberi tahu saya apa yang terjadi?
linux
filesystems
file-permissions
rm
RaYell
sumber
sumber
Jawaban:
Untuk menghapus satu file Anda harus menulis izin pada direktori yang berisi ¹ file ini.
Di sini izinnya
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
Jadi tidak seorang pun (selainroot
) dapat menghapus file di dalam direktori ini. Pemilik harus menggunakannyachmod
terlebih dahulu.-
1. Ada alasan yang cukup bagus untuk itu. Dengan 'menghapus' file dengan
rm
, Anda sebenarnya mencoba untuk memutuskan tautannya dari direktori (salinan yang di- link tidak akan dihapus).sumber
Saya memiliki masalah yang sama, dan
chmod
sendirian tidak melakukan trik. Saya pertama kali harus mengubah pemilik (pengguna dan grup) dari file yang ingin saya hapus.Penjelasan:
sudo
: pastikan Anda memiliki hak yang tepatchown
: Perintah Linux untuk mengubah pemilik file-hR
: ganti pemilik direktori dan semua subdirektori. Saya menemukannya di sini .root
: nama pengguna baruadmin
: nama grup baruSaya sudah mengubah modifikator menjadi 777; Saya tidak tahu apakah itu perlu atau tidak.
sumber
chown
Anda bukan pemilik direktori atau anggota grup pemilik direktori.Pertanyaan lain yang mungkin adalah atribut
Perintah ini akan menunjukkan kepada Anda atribut file dan file dengan atribut 'i' tidak dapat dimodifikasi (dan dihapus)
jadi periksa atribut file Anda dan hapus atribut 'i' jika atribut sudah disetel
sumber
Alasannya adalah direktori induk memiliki
chmod 705
atau sesuatu seperti itu. Anda dapatchmod
direktori induk dengan perintah berikut:Setelah ini, Anda dapat menghapus direktori itu dan file-file di dalamnya.
sumber