サイトの改ざんをみつけてしまった

下記サイトに「Hacked By GeNErAL」が表示されているので、改ざんされているようなのですが、問い合わせ先に連絡できず。

Hacked By GeNErAL

ページ中にある下記の文字列を Google で検索すると、同様のページがたくさん検索結果に表示されます。

Greetz : Kuroi’SH, RxR, ~

xargs で指定したコマンドに引数を渡す場合の工夫

xargsは標準入力を読み込み、それを引数として指定したコマンドを実行することができます。

例えば、以下のシェルスクリプトを実行すると指定したディレクトリにある更新日時が3日前のファイルを削除することができます。

$ find /tmp -mtime +3 -type f | xargs rm 

ところが find でファイルが見つからなかった場合、 rm のオペランドが不足ということになります。

rm: missing operand
Try `rm --help' for more information.

そこで、xargs に –no-run-if-empty というオプションを指定し実行することで、ファイルがない場合の対処ができます。

$ find /tmp -mtime +3 -type f | xargs --no-run-if-empty rm

以上です。

Windows NT System and Kernel がポート80を使用している?

Windows Server 2012 にXAMPP をインストールして Apache と MySQL を使用したかったのですが、Apache が起動できなかった。
[Apache] Problem detected!
[Apache] Port 80 in use by “Unable to open process” with PID 4!
[Apache] Apache WILL NOT start without the configured ports free!
[Apache] You need to uninstall/disable/reconfigure the blocking application
[Apache] or reconfigure Apache and the Control Panel to listen on a different port

PID 4がポート80を使用しているということなので、タスク マネージャで調べてみると PID 4 は NT System & Kernel でした。

しかし、IISもインストールしていなし、このプロセスを止めるわけにはいかなそう。

サービス一覧をみてIIS関連のサービスや他の起動中サービスを眺めていたところ “SQL Server Reporting Services” が気にかかり、ためしに停止したらポート80が未使用になりました。

sdelete – Windowsでファイルを完全に消去するコマンド

Windows でファイルを完全に消去するために sdelete というコマンドツールが無償でMicrosoft TechNetから提供されています。sdelete はWindows Sysinternalsのツール群のひとつです。

このコマンドで削除したファイルはディレクトリはファイルの復元ソフトなどで復元されることがなくなるため、安全に削除する場合には必要なツールです。

このコマンドを使った便利なライフハックがありましたのでご紹介します。

Windows Sysinternalsをダウンロードして C:\sysinternals へ展開しておきます。

まず、License Agreement に同意する必要があります。コマンドプロンプトから C:\sysinternals へ移動して sdelete.exe を実行します。

> cd sysinternals
> sdelete

License Agreement のダイアログが表示されますので、内容を確認の上、Agree ボタンをクリックします。
2回目以降はこのダイアログは表示されません。

次に、このコマンドを実行するバッチファイルを作成します。メモ帳を立ち上げて以下の内容を書き込みます。

@echo off
echo .* * *W A R N I N G * * *
echo .
echo .The File(s)/Folders(s) Will Be Permanently Deleted!
echo .
echo .Press CTRL-C to Abort and Terminate Batch Job Or...
echo .
pause
sdelete -p 4 -s %1
pause

これを C:\sysinternals\shred.bat という名前で保存します。そしてこのバッチコマンドのショットカット(例:shred.bat – ショートカット)をデスクトップへ配置します。例えば、ごみ箱のとなり。。。

削除したいファイルをエクスプローラから「shred.bat – ショートカット」へドラッグ&ドロップします。
コマンドプロンプトが表示され何かキーを押すと消去が実行されます。中止するには CTRL + C キーを押下します。

shred1

ファイル名に日本語が含まれていると ???? で表示されてしまいますが、消去は実行されます。

shred2

TotoiseSVN コミットされた日時でチェックアウト

TotoiseSVN Subversion でソースコード管理を行っています。

新たなソースをリポジトリからチェックアウトすると、デフォルトの設定ではファイルのタイムスタンプがチェックアウトの日時になってしまいます。

TotoiseSVN のチェックアウトで取得したファイルのタイムスタンプをコミットされた日時で行うためには、設定ファイルを編集します。

その方法は:
1) TotoiseSVN setting の General 設定から Subversion の Subversion configuration file: の Edit ボタンをクリックします。
2) メモ帳でコンフィグファイルが開かれます。その中で use-commit-times = yes の行を探してコメント(行頭の#)を外します。
3) 保存します。