『rootsh』でrootユーザの操作(ターミナルログ)を記録してSyslogに出力する

ターミナルログの記録について、タイムスタンプ付きで取得する場合やSyslogにターミナルログを流す場合、とりあえずscriptコマンドとawkを組み合わせる事で可能になるのだが、この『rootsh』コマンドでも同様にSyslogにターミナルログを出力することができる。 残念ながらファイルに出力する際はタイムスタンプを付与できないようだが、syslogには出力することが可能。

今回は、とりあえずCentOS 7にインストールして試してみることにする。 まず、以下のコマンドでインストールを実施する。

yum install -y epel-release
yum install -y rootsh

インストール後は、以下のようにただコマンドを実行するだけでターミナルログがSyslogに出力されるようになる。 scriptコマンドを実行するのとそう変わらないようだ。

rootsh

後は、以下のようにターミナルログがsyslogに記録されるようになる。

うーん…オプションを見る限り、ログインシェルとしても指定できるので、悪くはなさそうなんだけど… 正直、scriptコマンドとawkで適当なファイルに吐き出させた方が取り回しやすいし、そっちでもsyslog出力が可能。 ログインシェルにしても、ラッパースクリプトファイルを作成してやれば同様の事ができるので、現時点ではそこまでの魅力を感じられない気がする。