Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名前
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_factor に 2 を指定すれば、再生速度 が 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' jeff か bob がコンソールで実行したセッションを列挙する。 # 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