Tidak dapat menghapus file dalam $ HOME

8

Saya harus Cadangkan seluruh Sistem saya, karena HDD saya sekarat.

Di $ HOME ada file .rsync.logyang tidak bisa saya hapus sebagai pengguna atau sebagai root.

LANG=C rm -f /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
rm: cannot remove '/media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log': Operation not permitted

Saya menjalankan pemeriksaan sistem file, tetapi itu tidak berhasil.

LANG=C getfacl /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
getfacl: Removing leading '/' from absolute path names
# file: media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
# owner: alex
# group: alex
user::rw-
group::r--
other::r--

dan

lsattr /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
-----a-------e-- /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log

Filesystem adalah ext4.

Saya perlu menyingkirkan file ini sebelum saya membuat cadangan dari $ HOME. Bagaimana saya bisa melakukannya?

Rui F Ribeiro
sumber
Menghapus file ada hubungannya dengan izin pada direktori dasar, bukan dengan izin pada file itu sendiri.
Satō Katsura
Dalam kasus saya tidak. Saya tidak bisa menghapus file ketika saya menjalankan Sistem yang rusak. Dan saya telah membaca dan menulis acess di sana di $ HOME saya. Dan itu dipasang dengan benar. Saya memeriksa ini sekaligus.
@SatoKatsura, tetapi izin file / direktori biasanya tidak membatasi root.
ilkkachu
@ilkkachu Ah, saya melewatkan bagian tentang menjalankan sebagai root.
Satō Katsura

Jawaban:

16
$ lsattr /media/alex/.../.rsync.log 
-----a-------e-- /media/alex/.../.rsync.log

The aada append hanya bendera , yang tidak bekerja sedikit seperti bendera berubah dalam hal itu juga mencegah menghapus file. Juga untuk root:

# touch file.txt ; chattr +a file.txt ; lsattr file.txt ; rm file.txt
-----a-------e-- file.txt
rm: cannot remove `file.txt': Operation not permitted

File dengan set atribut 'a' hanya bisa dibuka dalam mode append untuk ditulis. Hanya superuser atau proses yang memiliki kemampuan CAP_LINUX_IMMUTABLE yang dapat mengatur atau menghapus atribut ini.

chattr -a /media/alex/.../.rsync.log sebagai root harus menyingkirkannya.

ilkkachu
sumber