web-dev-qa-db-ja.com

ルートとして実行している場合でも、ファイルを削除できません

私はRHEL 4から5にマシンを移行している最中です。実際にアップグレードを行うのではなく、新しいVM(両方のマシンがクラウド内にあります)を作成しました。 2つの間のデータ間でのコピー。

次のファイルを見つけました。新しいマシンから削除する必要がありますが、rootとして実行している場合でも削除できません。

-rw-------  1 2003 2003  219 jan 11 14:22 .bash_history

このファイルは/ home/USER /内にあります。ここで、USERはマシンを構築した人のアカウントです。彼は古いマシンにアカウントを持っていないので、新しいマシンが古いマシンと一致するように彼のホームフォルダーを削除しようとしていますが、次のエラーが発生します。

rm: ne peut enlever `.bash_history': Opération non permise

(フランス語から翻訳:XXXを削除できません、操作は許可されていません)

次のコマンドを使用してみましたが、違いはありませんでした。

chattr -i .bash_history

ID 2003のユーザーを作成する唯一の選択肢ですか、それとも別の方法がありますか?


編集する

rm -fを使用しようとすると、同じエラーが発生します。最初にchmod 777を使用して同じ種類のエラーが発生します。

削除しようとしているファイルを含むフォルダーをchownできました。

drwx------ 2 root root 1024 jan 24 15:58 USER

編集2

Angusの提案に従ってlsattrコマンドを実行すると、次の出力が得られました。

-----a------- USER/.bash_history
------------- USER/..
------------- USER/.

ファイルに追加のみのフラグが付けられている-chattr -a .bash_historyを使用してこのフラグを変更すると、ファイルを削除できました。

54
Rich

の権限を確認してください ディレクトリ。その中のファイルを削除するには、あなたが書き込み可能である必要があります

chmod ugo+w .

不変または追加のみではありません:

chattr -i -a .

確認する ls -laおよびlsattr -a

59
angus

私も同様の問題を抱えていましたが、以前は許可とチャットの両方を試みましたが、役に立たなかった。ターミナルのルート。 CDからディレクトリ。

しかし、私にとってうまくいったのは、問題のあるファイルが配置されているディレクトリの権限を確認することでした-よろしければ、以下に進んでください:

chmod ugo+w filename

これは失敗しました-その後:

chattr -i -a filename 

受け入れられた-それから

chmod ugo+w 

受け入れられた

rm filename

そしてそれはなくなった。

Hpワークステーション上のFedora 25。

10
Keith Mann

「sudo」は同じuser.groupを使用して「rm」コマンドを実行できます

[〜#〜] note [〜#〜]:これがあなたのようなIDでも機能するかどうかはわかりません。

例:

ls /path/to/dir_being_deleted
  drwxrwxrwx 2 nfsnobody nfsnobody   4096 Mar  8 06:55 .
  drwxrwxrwx 7 nfsnobody nfsnobody   4096 Mar  8 06:57 ..
  -rwxrwxrwx 1 nfsnobody nfsnobody      0 Mar  8 06:55 filename.txt

Sudo -u nfsnobody -g nfsnobody rm -rf /path/to/dir_being_deleted
1
awltux