Tips記事
» 2001年06月06日 00時00分 UPDATE

実行したコマンド履歴をログオフ時にクリアさせたい

[木田佳克,ITmedia]

 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.

注目のテーマ