$ HOMEのファイルを消去できません


8

HDDが故障しているため、システム全体をバックアップする必要があります。

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

filesystemcheckを実行しましたが、機能しませんでした。

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からバックアップを作成する前に、このファイルを削除する必要があります。どうすればできますか?


ファイルの削除は、ファイル自体に対する権限ではなく、ベースディレクトリに対する権限に関係しています。
桂佐藤

私の場合はそうではありません。壊れたシステムを実行しているときにファイルを消去できませんでした。そして、私は自分の$ HOMEでアクセスを読み書きしました。そしてそれは正しくマウントされました。すぐに確認しました。

@SatoKatsura。ただし、ファイル/ディレクトリの権限は通常、ルートを制限しません。
ilkkachu 2017年

@ilkkachuああ、ルートとして実行する部分を逃しました。
桂佐藤

回答:


16
$ 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 ルートはそれを取り除く必要があるため。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.