2014年3月6日木曜日

CentOS scpコマンド

リモートなホスト間でファイルをコピーする。

/*---------------------------------------------------------------------------*/
scp /hoge/data user@host:/hogehoge/
/*---------------------------------------------------------------------------*/

/hogeディレクトリにあるdataをhostのユーザーuserの/hogehogeディレクトリにコピー。

2014年3月5日水曜日

CentOS ApacheでIPアドレスによるアクセス制限

httpd.conf もしくは .htaccess を編集することでwebサーバーにアクセス制限を掛けられる。
自分が使用しているグローバルIPアドレスを知りたい場合は下記ツールを使用しよう。

参考サイト
IP認証によるアクセス制限のテクニック (2/2)

使用ツール

orderでallow(許可)とdeny(拒否)の評価順を決定する


/*---------------------------------------------------------------------------*/
order allow,deny
order deny,allow
/*---------------------------------------------------------------------------*/

allowが先にあれば、denyがあとに評価されるので、denyが優先。逆も然り。

allowとdenyで許可・拒否するIPアドレスを決定する


/*---------------------------------------------------------------------------*/
allow from ip-address
deny from ip-address
/*---------------------------------------------------------------------------*/

それぞれ指定したIPアドレスを許可・拒否する。
全IPアドレスを指定したい場合は all を入力する。

特定のIPアドレスのみを許可する


あるIPアドレスのみを許可して他は全て拒否する場合の例。

/*---------------------------------------------------------------------------*/
order allow,deny
deny from all
allow from ip-address
/*---------------------------------------------------------------------------*/

一度全てのIPアドレスを拒否してから、allow で特定のアドレスのみ許可する。
特定アドレスのみ拒否したい場合は allow と deny が逆になる。

CentOS findの検索結果でコマンドを実行する

xargsというコマンドがあり、これは左辺の結果を使用して右辺のコマンドを実行できる。

参考サイト
逆引きUNIXコマンド/findで検索したファイルを削除したい

/*---------------------------------------------------------------------------*/
find ./ -name '*.log' | xargs rm
/*---------------------------------------------------------------------------*/

上の例だと拡張子がlogのファイルを検索してrmで削除している。
これを利用して何日前のファイルを削除とかができる。

/*---------------------------------------------------------------------------*/
find -mtime +7 | xargs rm
/*---------------------------------------------------------------------------*/

一週間前のファイルを削除。
mtimeオプションは最後に更新された日付に基づいて検索する。+で以前。-で以内。

このままだとfindの結果がない場合にもrmが実行されてエラーが出るので、
結果がない場合はxargsを実行しないようにする。

/*---------------------------------------------------------------------------*/
find -mtime +7 | xargs --no-run-if-empty rm
/*---------------------------------------------------------------------------*/

findは色々検索オプションが指定できて便利そうなので、有効に使っていきたい。