rootsh †
/etc/profile.d/ 以下へ配置する †
全ログインユーザのログを取得しようとした場合、単純にrootshを起動させようとすると、以下の不具合が出る。これはscriptを使った場合と同じであるので、同じ対処が使える
- 無限ループでbashプロセスが起動する
- scpの場合に、コピーできない
- /etc/profile.d/rootsh.sh
if [ -n "$SSH_CLIENT" ]; then
TOPPROCESS_JUDGE_TOKEN='sshd:'
else
TOPPROCESS_JUDGE_TOKEN='login'
fi
if [ ! -z "$(ps -eo 'pid,args,tty' | awk -v pid=$PPID -v args=$TOPPROCESS_JUDGE_TOKEN '{if ($1 == pid && $2 == args && $3 ~ /@pts/) print $1,$2,$3}')" ]; then
/usr/bin/rootsh --no-logfile
exit
fi
rsyslogで /var/log/rootsh/rootsh.log へまとめる †
インストール †
sudo yum install rootsh --enablerepo=epel
rpm -q rootsh
rootsh-1.5.3-11.el6.x86_64
rootsh --version
# 1.5.2と出る
rootsh version 1.5.2
- デフォルトでは「/var/log/rootsh/<user>.<YYYYMMDDhhmiss>.<xxxx>」のようにユーザ別にファイルが作成される。
sudo rootsh
# exitで終了