6

お世話になります。
CentOS6.5(final)のサーバーなのですが、root権限で削除できないファイルがあります。

rm -fR xxxx

というコマンドでは削除できない状態です。
どういうわけかパーミションの設定は変更可能ですが、mv rm などのコマンドが効かない状態です。copyはできます。
(パーミッションだけ変更が可能なので、777にしてみましたがこれでも削除できないです。)
削除したい対象のファイルはjavaのwarファイルなのですが、これは何かしらが実行中で作成できないなどの原因があるのでしょうか。
試しに、サーバー筐体再起動を行いましたが、変化ありませんでした。
SELunuxなどの設定は無効にしております。

他、どのような部分を調査すればよいでしょうか。
よろしくお願いいたします。

mattn
  • 4,486
  • 14
  • 30
osamuya
  • 347
  • 2
  • 4
  • 12

3 Answers3

4

ひょっとすると、ファイルシステムの拡張属性で immutable が入っているかもしれません…

# ファイル xxxx の immutable を解除
sudo chattr -i xxxx

もしくは

# xxxx のあるディレクトリの immutable を解除
sudo chattr -i "xxxxのあるディレクトリ"

を試してみては如何でしょう。

手もとで試すと、ディレクトリに chattr +i が入っている時に似たような状態 (削除・移動ができず chmod はできる) になる様です。

参考: man chattr, man lsattr

akinomyoga
  • 580
  • 3
  • 10
3

lsattr してみてください。

# lsattr test
----i--------e-- test

このように i が含まれていると root でも消せません。
この場合、

# chattr -i test

としてから rm してください。

masm
  • 3,222
  • 2
  • 13
  • 18
  • ありがとうございます。 こちらで無事解決できました。しかし、なんでしょう。。。 確認コマンドではiが出現しませんでした。

    lsattr test

    -------------e-- test

    にもかかわらず、

    chattr -i test

    の後、rmすると削除できました。 内部的にiが潜んでいてた。。のでしょうか。。。

    – osamuya May 21 '15 at 08:13
0

ディレクトリのパーミッションはどうなってるでしょうか?

chmod ugo+w .

ユーザだけ w が外れていたりしないでしょうか?

mattn
  • 4,486
  • 14
  • 30