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


48

マシンを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

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

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

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

回答:


54

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

chmod ugo+w .

不変または追加専用ではありません:

chattr -i -a .

確認してくださいls -lalsattr -a


ありがとう
。.Centos

残念ながら、/vendor/laracasts/generators/.git/objects/pack/を実行するとchattr -i -a .、が取得されchattr: Inappropriate ioctl for device while reading flags on .、Composerが残しrmた厄介な.idxファイルを取得できません(「操作が許可されていない」ため)。
ライアン

ああ、1つの回避策は、Laravel Homestead Vagrant VirtualBoxを終了してWindows 10(Git Bashを使用)とrmそこからファイルに戻ることです。その後composer update、完了することができました。
ライアン

chattr -i -a働いた。
xji

9

私は同様の問題を抱えていましたが、以前は許可とchattrの両方を試してみましたが、役に立ちませんでした。ターミナルのルート。ディレクトリへのCD。

しかし、私のために働いたのは、面倒なファイルが置かれているディレクトリのアクセス許可を確認することでした-OKの場合:

chmod ugo+w filename

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

chattr -i -a filename 

受け入れられた-その後

chmod ugo+w 

受け入れられた

rm filename

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

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


「chmod ugo + wファイル名」は私のために完全にトリックをしました
-Alfishe

1

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

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