bionic (8) sudoreplay.8.gz

Provided by: manpages-ja_0.5.0.0.20161015+dfsg-1_all bug

名前

       sudoreplay - sudo のセッションログを再生する

書式

       sudoreplay [-h] [-d dir] [-f filter] [-m num] [-s num] ID

       sudoreplay [-h] [-d dir] -l [search expression]

説明

       sudoreplay は、sudo が生成した出力ログの再生、 または一覧表示を行う。再生する場合、 sudoreplay はセッショ
       ンの再生をリアルタイムで実行することもできるし、 コマンドライン・オプションによって再生速度を (早くした
       り、 遅くしたり) 調節することもできる。

       上記書式の一つ目 (再生モード) で指定する引数 ID は、たとえば 0100A5 のような、 数字とアルファベットの大文
       字からなる 6 字の文字列か、 sudoers ファイルの iolog_file オプションにマッチするパターンかの、 どちらかで
       なければならない。 sudoers ファイルの log_output オプションが有効な状態で sudo を使ってコマンドを実行する
       と、 TSID=ID という文字列が、syslog 経由や sudo 独自のログファイルに記録される (訳注: その ID を引数とし
       て指定するのである)。 また、ID は、sudoreplay のリストモード (上記書式の二つ目) を使用して、 突き止めるこ
       ともできる。

       [訳注]: セッションの出力のロギングを有効にするには、 sudoers ファイルの Defaults 行で log_output を指定す
               るか、 あるいは、同ファイルのユーザ設定でコマンドに LOG_OUTPUT タグを付ける。 詳細について
               は、sudoers のマニュアルを参照していただきたい。

       リストモードで sudoreplay を使用すると、ユーザ、使用した端末 (tty)、 実行したコマンドなど、いくつかの条件
       に基づいて、セッションの ID を知ることができる。

       再生モードでは、標準出力がリダイレクトされていないかぎり、 以下のキーが有効である。

       '\n' または '\r'
                     次の再生イベントに飛ぶ。イベント間の休止が長いとき便利。

       ' ' (space)   出力を停止する。任意のキーを押せば、続行する。

       '<'           再生速度を半分に下げる。

       '>'           再生速度を倍にする。

       オプションとして以下のものが使用できる。

       -d dir, --directory=dir
                   セッションログは、デフォルトの /var/log/sudo-io ではなく、 dir にある。

       -f filter, --filter=filter
                   再生する I/O タイプを選択する。 デフォルトでは、sudoreplay はコマンドの標準出力、標準エラー、
                   それに端末 (tty) への出力を表示することになっている。 引き数 filter は、コンマで区切ったリス
                   トであり、stdout, stderr, ttyout から一つ以上指定する。

       -h, --help  簡単なヘルプ・メッセージを標準出力に表示して終了する。

       -l, --list [search expression]
                   「リスト・モード」を有効にする。 このモードでは、sudoreplay は、再生可能なセッションのリスト
                   を、 sudo のログファイルにおける表記と同じような書式で、 /var/log/sudo-io 以下のファイル名
                   (すなわち、シーケンス・ナンバー) によってソートして表示する。検索式 (search expression) を指
                   定すると、 表示する ID を絞り込むために、それが使用されることになる。 検索式は以下の述語
                   (predicate) から構成される。

                   command pattern
                           実行されたコマンドが POSIX の拡張正規表現 pattern にマッチすれば、 真になる。

                   cwd directory
                           指定したディレクトリをカレントディレクトリとしてコマンドが実行されていれば、 真にな
                           る。

                   fromdate date
                           コマンドを実行した日付が date 以後なら、真になる。 サポートしている日時のフォーマット
                           については、 「日付と時刻のフォーマット」を参照すること。

                   group runas_group
                           指定された runas_group としてコマンドが実行されていれば、真になる。 runas_group を明
                           示的に指定して、 sudo を実行していないかぎり、 この欄はログに書き込まれないことに注意
                           していただきたい。

                   runas runas_user
                           指定された runas_user としてコマンドが実行されていれば、真になる。 sudo は、デフォル
                           トでは root ユーザとしてコマンドを実行することをお忘れなく。

                   todate date
                           コマンドを実行した日付が date 以前なら、真になる。 サポートしている日付のフォーマット
                           については、 「日付と時刻のフォーマット」を参照すること。

                   tty tty name
                           コマンドを実行したのが指定した端末デバイスならば、 真になる。tty name/dev/ の部分
                           を取って指定するべきである。 たとえば、/dev/tty01 ではなく、tty01 のように。 (訳注:
                           この説明は sudo-1.7.4 のころの指定法である。 最近の sudoreplay では、/dev/tty01 など
                           と指定する必要があるようだ。)

                   user user name
                           コマンドを実行したユーザが user name なら、真になる。

                   述語は、他と区別できるなら、最短の文字列にまで短縮することができる (訳注: たとえば、現在のと
                   ころ、述語 user の代わりに u が使える)。

                   述語は、and, or, ! 演算子を使って、組み合わせることができる。 また、'(' と ')' によるグループ
                   化も可能だ (ただし、たいていの場合、カッコはシェルに解釈されないように、 エスケープしなければ
                   ならない)。and 演算子は省略可能である。 隣り合った述語は、間に or がないかぎり、 and で結合し
                   ていると見なされるからだ。

       -m, --max-wait max_wait
                   キーを押してから次のキーを押すまでの間や、データ出力同士の間にある 待ち時間の上限を指定す
                   る。sudoreplay はデフォルトでは、 キーの押し下げやプログラムの出力の間にある経過時間を正確に
                   再現する。 しかし、それだと、セッション中に長い間合いがある場合など、 うんざりすることになり
                   かねない。 -m オプションを指定すると、sudoreplay はそうした間合いを、 長くても max_wait 秒以
                   内に抑えるようになる。この値は、 たとえば 2.5 といった、浮動小数点数で指定することも可能だ。

       -s, --speed speed_factor
                   このオプションを指定すると、sudoreplay は、 キーの押し下げやプログラムの出力の間にある待ち時
                   間の秒数を調節する。 このオプションを使えば、再生速度を早くしたり遅くしたりできるわけだ。 た
                   とえば、speed_factor2 を指定すれば、再生速度が 2 倍になるし、 .5 を指定すれば、再生速度が
                   半分になる。

       -V, --version
                   sudoreplay のバージョン番号を表示して終了する。

   日付と時刻のフォーマット
       日付と時刻の指定には、幾通りもの方法がある。よく使うフォーマットには、 次のものがある。

       HH:MM:SS am MM/DD/CCYY timezone
               午前/午後 (am/pm) の代わりに 24 時間制の時刻を使ってもよい。

       HH:MM:SS am Month Day, Year timezone
               午前/午後 (am/pm) の代わりに 24 時間制の時刻を使ってもよい。 月や曜日の名前には短縮形を使うことも
               できる。 月や曜日の名前は、英語で指定しなければならないのに注意すること。 (訳注: 曜日を指定する場
               合は、月と日にちの間以外なら、 たいていの場所に置くことができる。 なお、上記書式のように、日にち
               の後ろにコンマを入れるかどうかは、任意である。)

       CCYY-MM-DD HH:MM:SS
               ISO の日時フォーマット。

       DD Month CCYY HH:MM:SS
               月の名前には短縮形も使える。

       日付と時刻の一方を省略することができる。am/pm とタイムゾーンは、 指定してもしなくてもよい。日付が指定され
       ない場合は、 当日が指定されたものと見なされる。時刻が指定されない場合は、 指定された日にちの 00:00:00 が
       使用される。 時刻や日付のそれほど重要ではない部分も省略できるが、 その場合は 0 が指定されたものと見なされ
       る。

       以下の表記は、すべて有効な日時の指定である。

       now     今日の今。

       tomorrow
               今からちょうど 1 日後。

       yesterday
               24 時間前。

       2 hours ago
               2 時間前。

       next Friday
               来週の (やがて来る週の) 金曜日の 00:00:00。 "this friday" と混同してはいけない。 "this friday" な
               らば、今週の金曜日とマッチする。

       last week
               7 日前の現在時刻。"a week ago" と同じ。

       a fortnight ago
               14 日前の現在時刻。

       10:01 am 9/17/2009
               2009 年 9 月 17 日 午前 10 時 01 分。

       10:01 am
               今日の午前 10 時 01 分。

       10      今日の午前 10 時 00 分。

       9/17/2009
               2009 年 9 月 17 日 午前 0 時 00 分。

       10:01 am Sep 17, 2009
               2009 年 9 月 17 日 午前 10 時 01 分。

       注意していただきたいが、相対的な日時指定は、 必ずしも期待通りに動作するとはかぎらない。 たとえば、"next"
       修飾子は、"next Monday" などのように、 曜日と一緒に使うようになっている。 week, month, year などの単位と
       組み合わせて使った場合は、結果が期待よりも 1 多いものになってしまうのだ。たとえば、"next week" は、 今か
       らちょうど 2 週間後の日時を指すことになってしまい、 意図したところとはたぶん違うだろう。この問題について
       は、 sudoreplay の将来のバージョンで対処するつもりだ。

   sudoreplay のデバッグ
       バージョン 1.8.4 以上の sudoreplay は、 柔軟なデバッグ用の枠組みをサポートしており、 sudo.conf(5) ファイ
       ルの Debug 行で設定するようになっている。

       sudo.conf(5) の設定についてさらに詳しいことをお知りになりたかったら、 sudo.conf(5) のマニュアルをご覧に
       なっていただきたい。

ファイル

       /etc/sudo.conf            デバッグ用枠組みの設定

       /var/log/sudo-io          入出力ログを格納するデフォルトのディレクトリ

       /var/log/sudo-io/00/00/01/log
                                 セッションログについての情報 (一例)

       /var/log/sudo-io/00/00/01/stdin
                                 セッションの標準入力のログ (一例)

       /var/log/sudo-io/00/00/01/stdout
                                 セッションの標準出力のログ (一例)

       /var/log/sudo-io/00/00/01/stderr
                                 セッションの標準エラーのログ (一例)

       /var/log/sudo-io/00/00/01/ttyin
                                 セッションの tty 入力のログ (一例)

       /var/log/sudo-io/00/00/01/ttyout
                                 セッションの tty 出力のログ (一例)

       /var/log/sudo-io/00/00/01/timing
                                 セッションのタイミングを記録したファイル (一例)

       sudo があるコマンドのパイプラインの一部として使用されたときを除いて、 stdin, stdout, stderr ファイルは空
       になることに注意していただきたい。

用例

       ユーザ millert が実行したセッションを列挙する。

             # sudoreplay -l user millert

       ユーザ bob が実行したセッションのうち、 コマンドに vi という文字列が含まれるものを列挙する。

             # sudoreplay -l user bob command vi

       ユーザ jeff が実行したセッションのうち、 コマンドが下記の正規表現にマッチするものを列挙する。

             # sudoreplay -l user jeff command '/bin/[a-z]*sh'

       jeffbob がコンソールで実行したセッションを列挙する。

             # sudoreplay -l \( user jeff or user bob \) tty console

関連項目

       script(1), sudo.conf(5), sudo(8)

作者

       多数の人々が長年に渡って sudo の開発に携わってきた。 当バージョンは主として次の者が書いたコードからできて
       いる。

             Todd C. Miller

       sudo の開発に貢献してくださった方々の詳細なリストについては、 配布物中の CONTRIBUTORS ファイルをご覧に
       なっていただきたい。 (https://www.sudo.ws/contributors.html)

バグ

       sudoreplay にバグを発見したと思ったら、https://bugzilla.sudo.ws/ にアクセスして、バグレポートを提出してい
       ただきたい。

サポート

       ある程度の無料サポートが sudo-users メーリングリストを通して利用できる。 購読やアーカイブの検索には、次の
       URL を御覧になるとよい。 https://www.sudo.ws/mailman/listinfo/sudo-users

免責

       sudoreplay は「現状のまま」提供される。 明示的な、あるいは黙示的ないかなる保証も、 商品性や特定目的への適
       合性についての黙示的な保証を含め、 またそれのみに止まらず、これを否認する。詳細な全文については、 sudo と
       一緒に配布されている LICENSE ファイルや、 次の Web ページをご覧いただきたい。
       https://www.sudo.ws/license.html