狠狠撸

狠狠撸Share a Scribd company logo
AWSで構築したのだよ 
「ユーザーのコンソール操作をログとして残したい」
お品書き 
? ユーザのコンソール操作をログに残したい 
? ec2で自分のインスタンスIDが知りたい 
? ec2で自分についているタグを読み取りたい 
? ec2起動時にホスト名を変更したい 
? ec2起動時にクラウドウォッチに追加したい 
? Amazon LinuxのsshをユーザID/PWに変更し 
たい。 
? VPNのプライベートネットワークでNTPを使いたい 
? プライベートネットワークのRDSにssh経由で接続したい 
? 夜間にec2を落としたい 
? サーバーのシャットダウン時にログを退避したい 
? プロセス監視、メモリ残、ディスク使用率をCloudwatc 
hに追加したい 
? nginxで名前解決を都度行いたい
ユーザのコンソール操作を 
ログに残したい(1/3) 
? 事前準備 
①scriptコマンドにセットIDモードを使用するように 
変更 
sudo chmod ug+s /usr/bin/script 
②ログを記録する場所を作成 
sudo mkdir /var/log/term 
sudo sudo chmod 750 /var/log/term
ユーザのコンソール操作を 
ログに残したい(2/3) 
? scriptコマンドをログイン時に実行するように設定 
~/.bash_profileを変更し、ログイン時にscriptコマン 
ドを実行する。 
ログの格納場所 
/var/log/term/ 
ログのファイル名 
termlog_$USER.$(date 
+%Y%m%d%H%M%S).log 
例.termlog_root.20140128120253.log
$ sudo vi /etc/skel/.bash_profile 
# .bash_profile 
# Get the aliases and functions 
if [ -f ~/.bashrc ]; then 
. ~/.bashrc 
fi 
# User specific environment and startup programs 
PATH=$PATH:$HOME/bin 
export PATH 
export PS1="[u@h W]$ " 
script -afq /var/log/term/termlog_$USER.$(date +%Y%m%d%H%M%S).log 
exit 0
下記のように/etc/profileに記載しておくと、ログインの度に.bash_profileを配布 
します。ユーザが自分の.bash_profileを書き換えても、上書きします。 
$ vi /etc/profile 
cp -f /etc/skel/.bash_profile ~
補足.bash_profile 
ユーザーがログインすると 
/etc/profile 
~/.bash_profile 
が順番に呼ばれる。 
.bash_profileがない場合 
~/.bash_login 
さらに.bash_loginが無い場合は 
~/.profile 
が呼ばれます。 
~/.bashrcは、プロセスとしてbashを起動したときに読み 
込まれます。プロセス起動ごとに設定したい場合はここ 
に記載します。
補足/etc/skel/ 
/etc/skel/にファイルを配置しておくと 
ユーザ追加時に/etc/skel以下と同じ構成のユーザディレ 
クトリを作ってくれます。
ユーザのコンソール操作を 
ログに残したい(3/3) 
? 保存期間を決めて、古いログは削除するようにする 
$ sudo crontab -e 
0 2 * * * find /var/log/term -daystart -maxdepth 1 -name "*.log" 
-mtime +365 -exec rm {} ;

More Related Content

Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す