• 締切済み

消せないディレクトリ

ホームページを運営していますが、最近サーバをハックされて、消えないディレクトリを作られてしまいました。 ssh コマンドで$ rm -rf dir/を叩いても削除できません。chmod で権限を変えようとすると文字化けしたエラーが出て変えることができません。ディレクトリの中のファイルも同様で削除も権限もファイル名も変えられません。もちろんFTPでも削除できません。何方かご存知でしたらご教授お願い致します。

みんなの回答

  • guriaa
  • ベストアンサー率100% (3/3)
回答No.5

>$ \/rm -ir '--' ./* >ということでしょうか? いえ、 $ \rm -ir -- ./* です。 ./*はカレントディレクトリのすべてという意味です。 rmの前のバックスラッシュは、alias等が効いている場合、無効にする、という意味で、 --(ハイフンハイフン)は、ファイル名が-(ハイフン)で始まっていても 良いように、です。 ちなみに、既にご存知かとは思いますが、 -ir のiは削除するかどうか逐一ユーザに問い合わせよ、という意味で、 rはリカーシブ(ディレクトリも消せるように)です。 >$ \rm -r '***' > >となるのでしょうか? ***というファイル名なら、それでよいかと思います。 お使いのshがbashであれば、 コマンドラインから、「'<ファイル名の最初の文字>tab」(シングルクォート+ファイル名の最初の文字+tabキー)でファイル名の候補が表示されますので、怪しいファイル名が表示されたら、もう一度シングルクォートを入力する。 $ rm -ir '*<tabキー> で仮に $ rm -ir '*** というファイル名が表示されたら、 $ rm -ir '***' とシングルクォーテーションを追加する。 で、これは何をやっているかというと、 ダブルクォート(")であればbash側で文字列を展開してしまうので、 展開しないようにシングルクォート(')で囲んでみてはどうか と思った次第です。 >もちろんその件はサーバ管理会社へ調査してくれるようお願いしましたが、返信無しです。 質問を拝見してまず思ったのは、 どうしてご自分の領域、ユーザでクラックされたと特定されたのか、 somocoさんのミスでクラックされたと特定できたのか、 ということでした。 つまり、同一サーバの他ユーザや、サーバのルートが既に奪取された 状態で被害に会われている可能性も無くはないのではないかと。 仮にsomocoさんのミスでクラックされていたとしても、 正しい手順としては、まず該当サーバをインターネットから完全に 隔離することだと思っています。 なんらかの手を打ってこないとすれば、良くわかりませんが、 その管理会社はちょっと信用できない気がしました。

somoco
質問者

お礼

ご回答ありがとうございます。 返信遅れて申し訳ございません。 今回の件でLinux サーバの勉強もしなければならないと痛感しました。 一応管理会社へ連絡を入れ、ディレクトリを削除してもらいました。 他に被害はなかったようで、安心しています。 マカフィーのサイトアドバイザーでも異常があったのですが、今は無く安心して運営できます。 http://www.siteadvisor.com/ これからコマンドも勉強して行きたいと思います。 親切なアドバイス大変感謝しています。 ありがとうございました。

  • guriaa
  • ベストアンサー率100% (3/3)
回答No.4

よくわからないのですが、 管理会社にはクラックされたことが伝わっている、 にもかかわらずフィッシングサイト扱いされた状態であるということでしょうか? そうだとするなら、管理会社を変更するのが良いような気がします。 あと、rootkit検出・削除ツールが世に出回っているので 使用してみてはいかがでしょうか? root権限がないとだめかもしれませんが。 すみません。参考になりませんね・・・。

somoco
質問者

お礼

ご回答感謝します。 連絡をしてディレクトリを削除してもらったのですが、相変わらずフィッシング扱いです。もちろんその件はサーバ管理会社へ調査してくれるようお願いしましたが、返信無しです。 ご指摘の通り、サーバを変えようと思っています。 それから、前頁で下記コマンドの*はディレクトリ名でしょうか? $ \rm -ir -- ./* >念のため'--'(ハイフンハイフン)もつけておく。あと、rmの前にバックスラッシュも。 $ \/rm -ir '--' ./* ということでしょうか? >それでだめなら、 $ \rm -r '最初の文字 + tab で、対象が表示されたら、'(シングルクォート)で閉じてみる。 $ \rm -r '***' となるのでしょうか? まだ消せないファイルが残っていますので、試してみたいと思います。 他にもサービスの良いホスティング社がありますので、乗り換え検討してみます。

  • guriaa
  • ベストアンサー率100% (3/3)
回答No.3

$ \rm -ir -- ./* とやってみてはどうでしょうか? 念のため'--'(ハイフンハイフン)もつけておく。あと、rmの前にバックスラッシュも。 それでだめなら、 $ \rm -r '最初の文字 + tab で、対象が表示されたら、'(シングルクォート)で閉じてみる。 っていうのはどうでしょう?

somoco
質問者

お礼

ご親切のアドバイス感謝します。 サーバ管理会社に頼んで削除してもらいました。 FTPで見てもそれらしきファイルは見当たらないですが、下記マカフィーのサイトアドバイザーで分析してもらうと http://www.siteadvisor.com/sites/ "マカフィーの分析によると、このサイトは、ユーザの個人情報または財務情報を不正に取得してオンライン詐欺を行うために作成された可能性があります。" と表示され、まるでフィッシングサイト扱いされてトホホ状態です。 サイトに何か仕掛けられていると思いますが、見えないファイルを相手にお手上げ状態です。 何か調べる方法はあるのでしょうか?

  • justraver
  • ベストアンサー率30% (62/201)
回答No.2

早いのは、たまたまです(笑) え~、レンタルサーバーなのですか? ハックされたって個人分をですか?(レンタルしている範囲) 管理人に連絡して停めてもらって下さい。 今まで、コマンドを使ってメッセージが化けたりしてなかったのですか? export LANG=C として、同じコマンドを叩いてみて何のメッセージか確認した方がいいですね。 日本語ではなく英語で表示される筈です。 被害が拡大する前に管理人に連絡を。自分だけの問題のうちに。

somoco
質問者

お礼

ご回答ありがとうございます。 個人アカウントからルートを取られる恐れもあるのでしょうか? もしそうでしたら考えるだけでも、、、、^^; 数ヶ月前からフィッシングページが作られているようで、根元のフォルダ名は変更できるので変えて対応していますが、、。 サーバ会社へ対応を頼むつもりですが、起こりうる事態としてどのようなことが想定されるでしょうか? 宜しくお願い致します。

  • justraver
  • ベストアンサー率30% (62/201)
回答No.1

文字化け起こしているだけじゃないですか? rm -f "最初の文字 + tab で、ディレクトリの表示はされます? 出来るようならそのまま「"」で閉じて削除してみて下さい。 オーナーがルートで削除が出来ないって事じゃないですよね? 怪しげな名称ならtabキーで補完できるならそれをそのまま使うと上手くいく事があります。 あと、攻撃を受けているなら忍ばせたデーモンによってファイルがロックされているって事はないですか? プロセスも確認した方がいいですよ。

somoco
質問者

お礼

早速のご教授ありがとうございます。 初めての利用ですが、こんなに早く回答が帰って来ることに驚いています。 ご回答の rm -f "最初の文字 + tab でディレトリは表示できます。 rm -rf "******" で削除すると cannot remove '*****' DE?????DE??? と文字化けを起こして終了して削除できません。 パスワードを変えても別ディレクトリに変えられしまいますので、仰る通り何か仕掛けられているかも知れません。 恥ずかしながらlinux は初心者で必要最小限の command しか知りません。 レンタルサーバですので、ルートが取られることは無いと思います。 検索で調べた方がいいかとも思いますが、急ぎの作業でそれもままならず教えを乞うている次第です。 お手を煩わして大変恐縮ですが、忍ばせたデーモンによってファイルがロックされていることはどうやって調べるのでしょうか? 宜しくお願い致します。

関連するQ&A

  • 初心者ですが。ディレクトリの削除

    unixであるディレクトリ以下のファイルを全て削除したい場合はどのコマンドを使えばいいですか?rm -rf ディレクトリ名すると、1つ1つ削除するか確認を求めてきます。この確認を省く方法はありますでしょうか。宜しくお願いします。

  • 名前の無いディレクトリが作成され削除できません・・・・・

    他サーバからFTPでputを実行した際だと思うのですが put ファイル名を間違えてしまいそのまま実行してしまいました・・・ put先のSUNサーバへ戻り、lsで確認した際 名前のないディレクトリが作成されていました。 このディレクトリの削除法を御教授御願い致します。 rm -rf* ですと他のディレクトリも削除してしまいます。 rm -irfでそのディレクトリをyesにするのも良いのかもとも思っています。 名前の無いディレクトリ1個を一発100%で消せる方法を 御教授御願いします。

  • Perlでディレクトリごと削除したい

    telnet.cgiを使って、カレントディレクトリで、 rm -rf * を行っても、なぜか(permissin 755にも関わらず)permission denyといわれうまく削除できませんでした。 そこで、perlを使って削除を試みたいのですがどのようにすれば、削除できますか? 参考になりそうなソースを見つけたのですが、ディレクトリの中にディレクトリがある構造のためうまく削除できませんでした。 どなたか、改良していただけないでしょうか? お手数ですが、宜しくお願い致します。 #!/usr/local/bin/perl $dir = "./d/"; opendir DIR, $dir; @files = grep { !m/^(\.|\.\.)$/g } readdir DIR; close DIR; $flag = @files; if ( $flag ) { foreach $file ( @files ) { unlink "$dir$file"; } } rmdir $dir;

    • ベストアンサー
    • CGI
  • perl(CGI)から作成したディレクトリがFTPで消せないのはなぜ?

    HTMLページからそのCGIを叩くと『年月』の名前のディレクトリを作って、 その中に日毎のアクセスログファイルを作成するCGIを作っています。 ディレクトリを作成するパールは以下です。 mkdir($dir, 0777); しかし実行すると$dirのパーミッションは755になってしまいます、 その中に作成されるファイルは正常に作成されるのですが、 そのディレクトリ/ファイル共にFTPから削除/パーミッションの変更が 出来なくなってしまいます。 telnetから入って削除しようとしても普通のユーザー権限では無理で 削除する為にはルートにならなければなりません。 なぜでしょう?FTPから操作できる権限のディレクトリを作る方法が あるのでしょうか? バカな質問だと思いますが分かる方がいらっしゃいましたら教えて下さい。

    • ベストアンサー
    • Perl
  • -a というディレクトリが出来てしまいました。

    FreeBSD 4.7です。 -a というディレクトリをいつのまにか作ってしまいました。 アクセスは cd "-"a または cd "-a" で出来たのですが、削除が出来ません。 rm -rf "-a" とすると rm: illegal option --a usage: rm [-f | -i] [-dPRrvW] file ... unlink file と出ます。 これをなんとか消したいのです。 よろしくお願いします!

  • .で始まるファイルが、rm -rfで削除できない。

    .で始まるファイルが、rm -rfで削除できないのですが、なぜでしょうか? どうしたら削除できますか? 削除したいのは、ホームディレクトリに出来る.ファイルなのですが、Xは使用せず、TELNETやSSH、その他でもアクセスしないユーザーの物なので、削除したいのです。

  • chmodコマンドで、あるディレクトリ以下の"*.sh"ファイル全てに

    chmodコマンドで、あるディレクトリ以下の"*.sh"ファイル全てに実行権限を与える方法を教えてください。

  • Linux FTPでのファイル権限に関して

    LinuxでFTPを運用してるんですが、ファイル権限で教えてください。 今ある指定フォルダ配下のファイル・フォルダは、chmodを使用して 777で権限を与えてるんですが、 今後、ユーザーがアップする際指定ディレクトリ配下のファイルは全て自動で777になるように設定したいと思ってます。 現在は、chmod後に上がったファイル権限は作成者のみにしかつかなく困ってます。 なんかコマンドで設定できるものでしょうか? またFTPで777の権限は危険でしょうか? ご存知でしたら教えてください

  • SSH、ディレクトリ内ファイルを一度に空っぽには?

    SSHのコマンドを使って、ディレクトリ内にある全てのファイルの中身を空っぽにしたいのですがどのようなコマンドを使えばよいのでしょうか? 現在仮に… /DIR/というディレクトリがあり、中には abc.log.1 abc.log.2 abc.log.3 abc.log.4 abc.log.5 … とあります。 現在は、 : > abc.log.1 といった具合に、1つ1つ空っぽにしているのですが量が多いので困っております。 一度に/DIR/の中身のファイル全てを空にする方法がありましたらアドバイス頂けると助かります。 尚、あくまでファイルを空にするということであって、ファイル自体の削除を行うわけではありませんので宜しくお願いします。m(_ _)m

  • フォルダを削除できません。ディレクトリが空ではありません。

    誰かが使ったUSBメモリ内のフォルダ ¥rm -rf dirname を削除しようとしたら、以下のようなメッセージ が表示されてしまい、削除することができません。 何か解決策がありましたら、教えてください。 「$rm -rf dirname フォルダを削除できません。ディレクトリが空ではありません。」