Memo/Linux/rootsh

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/rootsh
 

rootsh


/etc/profile.d/ 以下へ配置する

全ログインユーザのログを取得しようとした場合、単純にrootshを起動させようとすると、以下の不具合が出る。これはscriptを使った場合と同じであるので、同じ対処が使える

  • 不具合
    • 無限ループでbashプロセスが起動する
    • rootshをインストールしたホストへ、scpでファイルをコピーできない
  • 「-x」のチェックが無い場合、rootshだけを削除すると、exitを繰り返えし、ログインできなくなる。
    • singleユーザモードでもログインできないので、「CentOS-6.5-x86_64-minimal.iso」等でbootし、resucue modeで入り、/etc/profile.d/rootsh.sh を消すと直る。
  • /etc/profile.d/rootsh.sh
    ROOTSH_PATH=/usr/bin/rootsh
    if [ -x $ROOTSH_PATH ] && [ "$SHLVL" = "1" ] && [ ! -z "$PS1" ] ; then
      $ROOTSH_PATH --no-logfile
      exit
    fi

rsyslogで /var/log/rootsh/rootsh.log へまとめる

  • 「& ~」がポイント。これが無いと「/var/log/messages」に同じメッセージが出る
    sudo bash -c "echo -e 'local5.notice /var/log/rootsh/rootsh.log\n& ~' > /etc/rsyslog.d/rootsh.conf"
    sudo service rsyslog restart
    
    sudo vim /etc/logrotate.d/rootsh
    ----
    /var/log/rootsh/*.log {
        daily
        missingok
        notifempty
        compress
        su root root
    }
    ----
    
    sudo rootsh --no-log
    # exitで終了

インストール

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で終了

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-04-05 (金) 18:17:27 (245d)