9
AWS でででででででで ででででででででででででででででででででででで 「」

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

Embed Size (px)

DESCRIPTION

linuxにて、コンソールの操作をログに記録する方法

Citation preview

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

AWS で構築したのだよ「ユーザーのコンソール操作をログとして残したい」

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

ユーザのコンソール操作をログに残したい ec2で自分のインスタンスIDが知りたい ec2で自分についているタグを読み取りたい ec2起動時にホスト名を変更したい ec2起動時にクラウドウォッチに追加したい Amazon LinuxのsshをユーザID/PWに変更したい。 VPNのプライベートネットワークでNTPを使いたい プライベートネットワークのRDSにssh経由で接続したい 夜間にec2を落としたい サーバーのシャットダウン時にログを退避したい プロセス監視、メモリ残、ディスク使用率をCloudwatchに追

加したい nginxで名前解決を都度行いたい

お品書き

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

事前準備①script コマンドにセット ID モードを使用するように変更

sudo chmod ug+s /usr/bin/script② ログを記録する場所を作成

sudo mkdir /var/log/termsudo sudo chmod 750 /var/log/term

ユーザのコンソール操作をログに残したい (1/3)

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

script コマンドをログイン時に実行するように設定~/.bash_profile を変更し、ログイン時に script コマンドを実行する。

ログの格納場所/var/log/term/

ログのファイル名termlog_$USER.$(date +%Y%m%d%H%M%S).log例 .termlog_root.20140128120253.log

ユーザのコンソール操作をログに残したい (2/3)

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

$ sudo vi /etc/skel/.bash_profile

# .bash_profile

# Get the aliases and functionsif [ -f ~/.bashrc ]; then . ~/.bashrcfi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATHexport PS1="[\u@\h \W]\\$ "

script -afq /var/log/term/termlog_$USER.$(date +%Y%m%d%H%M%S).log

exit 0

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

下記のように /etc/profile に記載しておくと、ログインの度に .bash_profileを配布します。ユーザが自分の .bash_profile を書き換えても、上書きします。

$ vi /etc/profilecp -f /etc/skel/.bash_profile ~

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

ユーザーがログインすると/etc/profile~/.bash_profile

が順番に呼ばれる。.bash_profile がない場合

~/.bash_loginさらに .bash_login が無い場合は

~/.profileが呼ばれます。~/.bashrc は、プロセスとして bash を起動したときに読み込まれます。プロセス起動ごとに設定したい場合はここに記載します。

補足  .bash_profile

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

/etc/skel/ にファイルを配置しておくとユーザ追加時に /etc/skel 以下と同じ構成のユーザディレクトリを作ってくれます。

補足  /etc/skel/

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

保存期間を決めて、古いログは削除するようにする

$ sudo crontab -e0 2 * * * find /var/log/term -daystart -maxdepth 1 -name "*.log" -mtime +365 -exec rm {} \;

ユーザのコンソール操作をログに残したい (3/3)