Red Hatなどで標準のシェルとして設定されているシェル「bash」では,最大で500までの履歴(ヒストリー)を記録しておくことができる。この記録内容は「~/.bash_history」ファイルに保存されている。また,このファイルはテキスト形式のため,catコマンドなどで覗けば特定のユーザーがどのようなコマンドを利用しているかが一目瞭然なのだ。
このヒストリ数をコントロールしているのは,「/etc/profile」ファイルである。この中の「HISTSIZE=」,「HISTFILESIZE=」に注目しよう。
# vi /etc/profile PATH="$PATH:/usr/X11R6/bin" PS1="[\u@\h \W]\\$ " ulimit -c 1000000 if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" HOSTNAME=`/bin/hostname` HISTSIZE=30 HISTFILESIZE=30 〜以下略〜 |
これをセキュリティポリシー違反だと考えるならば,次のように設定することでログアウト時にヒストリーをクリアさせることが可能だ。「/etc/skel/.bash_logout」ファイルには,ログアウト時に実行するコマンドを記述しておける。
# vi /etc/skel/.bash_logout rm -f $HOME/.bash_history ←この記述を追加する |
Copyright © ITmedia, Inc. All Rights Reserved.