$ HOMEからファイルを削除できません。

$ HOMEからファイルを削除できません。

ハードドライブが死んでシステム全体をバックアップする必要がありました。

.rsync.log$ HOMEに私のユーザーまたは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

ファイルシステムチェックを実行しましたが、機能しませんでした。

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--

そして

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

ファイルシステムはext4です。

$HOME でバックアップを実行する前に、このファイルを削除する必要があります。どうすればいいですか?

ベストアンサー1

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

aある追加フラグのみ、これはファイルの削除も防止するという点で、不変フラグと多少同様に機能します。ルートでも動作します。

# 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

「a」属性が設定されているファイルは書き込みモードでのみ開くことができます。スーパーユーザーまたはCAP_LINUX_IMMUTABLE機能を持つプロセスのみがこのプロパティを設定または消去できます。

chattr -a /media/alex/.../.rsync.logルートになったら、それを削除する必要があります。

おすすめ記事