.\" Copyright (c) 2009-2011 Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" Japanese Version Copyright (c) 2012 Yoichi Chonan .\" all rights reserved. .\" Translated (sudo-1.8.4p4) Wed May 9 12:26:33 JST 2012 .\" by Yoichi Chonan .\" .\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` . ds C' 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SUDOREPLAY 8" .TH SUDOREPLAY 8 "January 6, 2012" "1.8.4" "MAINTENANCE COMMANDS" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "名前" sudoreplay \- sudo のセッションログを再生する .SH "書式" .IX Header "SYNOPSIS" \&\fBsudoreplay\fR [\fB\-h\fR] [\fB\-d\fR \fIdirectory\fR] [\fB\-f\fR \fIfilter\fR] [\fB\-m\fR \fImax_wait\fR] [\fB\-s\fR \fIspeed_factor\fR] \s-1ID\s0 .PP \&\fBsudoreplay\fR [\fB\-h\fR] [\fB\-d\fR \fIdirectory\fR] \-l [search expression] .SH "説明" .IX Header "DESCRIPTION" \&\fBsudoreplay\fR は、\fBsudo\fR が生成した出力ログの再生、 または一覧表示を行う。再生する場合、 \&\fBsudoreplay\fR はセッションの再生をリアルタイムで実行することもできるし、 コマンドライン・オプションによって再生速度を (早くしたり、 遅くしたり) 調節することもできる。 .PP 上記書式の一つ目 (再生モード) で指定する \fI\s-1ID\s0\fR は、 たとえば、\f(CW\*(C`0100A5\*(C'\fR のような、 数字とアルファベットの大文字からなる 6 字の文字列か、 \&\fIsudoers\fR の \fIiolog_file\fR オプションにマッチするパターンかの、 どちらかでなければならない。\fIsudoers\fR の \fIlog_output\fR オプションが有効な状態で、\fBsudo\fR を使ってコマンドを実行すると、 \&\f(CW\*(C`TSID=ID\*(C'\fR という文字列が syslog 経由で、 あるいは \fBsudo\fR 独自のログファイルに記録される。 また、\fI\s-1ID\s0\fRは、\fBsudoreplay\fR のリストモードを使用して、 特定することもできる。 .IP "[\fB訳注\fR]:" 8 .IX Item "footnote1" セッションの出力のロギングを有効にするには、\fIsudoers\fR ファイルの Defaults 行で \fIlog_output\fR を指定するか、 あるいは、同ファイルのユーザ設定でコマンドに \fILOG_OUTPUT\fR タグを付ける。 \&\fIsudoers\fR のマニュアルを参照してほしい。 .PP リストモードで \fBsudoreplay\fR を使用すれば、ユーザ、使用した端末 (tty)、 実行したコマンドなど、いくつかの条件に基づいて、セッションの \s-1ID\s0 を知ることができる。 .PP 再生モードでは、標準出力がリダイレクトされていないかぎり、 以下のキーが有効である。 .IP "' ' (space)" 8 .IX Item "' ' (space)" 出力を停止する。任意のキーを押せば、続行する。 .IP "'<'" 8 再生速度を半分に下げる。 .IP "'>'" 8 再生速度を倍にする。 .SH "オプション" .IX Header "OPTIONS" \&\fBsudoreplay\fR では、以下のコマンドライン・オプションが使える。 .IP "\-d \fIdirectory\fR" 12 .IX Item "-d directory" セッションログが格納されているディレクトリとして、デフォルトの \&\fI/var/log/sudo\-io\fR の代わりに、\fIdirectory\fR を使用する。 .IP "\-f \fIfilter\fR" 12 .IX Item "-f filter" デフォルトでは、\fBsudoreplay\fR はコマンドの標準出力と標準エラー、 それに端末 (tty) への出力を再生する。\fI\-f\fR を使えば、 そのうちのどれを出力するかを選択することができる。引き数 \fIfilter\fR は、 コンマで区切られたリストであり、\fIstdout\fR, \fIstderr\fR, \fIttyout\fR から一つ以上指定する。 .IP "\-h" 12 .IX Item "-h" \&\fB\-h\fR (\fIhelp\fR) オプションを指定すると、 \&\fBsudoreplay\fR は簡単なヘルプ・メッセージを標準出力に表示して、終了する。 .IP "\-l [\fIsearch expression\fR]" 12 .IX Item "-l [search expression]" 「リストモード」を有効にする。このモードでは、\fBsudoreplay\fR は再生可能なセッション ID を一覧表示することになる。検索式 (\fIsearch expression\fR) を指定すると、表示する ID を絞り込むために、 それが使用される。検索式は以下の述語 (predicate) から構成される。 .RS .IP "[\fB訳注\fR]:" 8 .IX "footnote2" このマニュアルで「ID」という言葉は、リストモードで表示される、 ある ID を持つセッションそのものや、 そのセッションの情報の意味でも使われている。 .RE .RS 12 .IP "command \fIcommand pattern\fR" 8 .IX Item "command command pattern" 実行されたコマンドが \fIcommand pattern\fR にマッチすれば、真になる。 \&\s-1POSIX\s0 の正規表現をサポートするシステムでは、 パターンに拡張正規表現が使える。 \&\s-1POSIX\s0 の正規表現をサポートしていないシステムでは、 単なる部分文字列のマッチが行われる。 .IP "cwd \fIdirectory\fR" 8 .IX Item "cwd directory" 指定したディレクトリをカレントディレクトリとして、 コマンドが実行されていれば、真になる。 .IP "fromdate \fIdate\fR" 8 .IX Item "fromdate date" コマンドを実行した日付が \fIdate\fR 以後なら、真になる。 サポートしている日時のフォーマットについては、 「日付と時刻のフォーマット」を参照すること。 .IP "group \fIrunas_group\fR" 8 .IX Item "group runas_group" 指定された \fIrunas_group\fR としてコマンドが実行されていれば、真になる。 \&\fIrunas_group\fR を明示的に指定して、 \&\fBsudo\fR を実行しないかぎり、 この欄はログに書き込まれないことに注意してほしい。 .IP "runas \fIrunas_user\fR" 8 .IX Item "runas runas_user" 指定された \fIrunas_user\fR としてコマンドが実行されていれば、真になる。 \&\fBsudo\fR は、デフォルトでは \&\fIroot\fR ユーザとしてコマンドを実行することを忘れないように。 .IP "todate \fIdate\fR" 8 .IX Item "todate date" コマンドを実行した日付が \fIdate\fR 以前なら、真になる。 サポートしている日付のフォーマットについては、 「日付と時刻のフォーマット」を参照すること。 .IP "tty \fItty\fR" 8 .IX Item "tty tty" コマンドを実行したのが指定した端末デバイスならば、 真になる。\fItty\fR は \fI/dev/\fR の部分を取って、指定する。 たとえば、\fI/dev/tty01\fR ではなく、\fItty01\fR というように。 (訳注: この説明は sudo-1.7.4 のころの指定法である。 最近の \fBsudoreplay\fR では、\fI/dev/tty01\fR などと指定する必要があるようだ。) .IP "user \fIuser name\fR" 8 .IX Item "user user name" コマンドを実行したユーザが \fIuser name\fR なら、真になる。 .RE .RS 12 .Sp 述語は、他と区別できるなら、最短の文字列にまで短縮できる .\" (現在のところ、すべての述語は、文字一個にまで短縮できる)。 .\" [訳注]: command や cwd を c に短縮することはできない。ということは、 .\" このカッコ内の文は、古い記述がそのままになっているのだと思う。そこで、 .\" man コマンドで見えないようにし、代わりに以下の文を追加しておく。 (たとえば、現在のところ、述語 user の代わりに u が使える)。 .Sp 述語は \fIand\fR, \fIor\fR, \fI!\fR 演算子を使って、結合することができる。 また、\f(CW\*(Aq(\*(Aq\fR と \f(CW\*(Aq)\*(Aq\fR を使えば、グループ化が可能だ (ただし、たいていの場合、カッコはシェルに解釈されないように、 エスケープしなければならない)。\fIand\fR 演算子の指定はしてもしなくてもよい。 隣り合った述語は、間に \fIor\fR がないかぎり、\fIand\fR で結合していると見なされるからだ。 .RE .IP "\-m \fImax_wait\fR" 12 .IX Item "-m max_wait" キーを押してから次のキーを押すまでの間や、データ出力同士の間にある 待ち時間の上限を指定する。\fBsudo\fR はデフォルトでは、 キーの押し下げやプログラムの出力の間にある経過時間を正確に再現する。 しかし、それだと、セッション中に長い間合いがある場合など、 うんざりすることになりかねない。 \&\fI\-m\fR オプションを指定すれば、\fBsudoreplay\fR はそうした間合いを、 長くても \fImax_wait\fR 秒以内に抑えるようになる。この値は、 たとえば \fI2.5\fR といった、浮動小数点数で指定することも可能だ。 .IP "\-s \fIspeed_factor\fR" 12 .IX Item "-s speed_factor" このオプションを指定すると、\fBsudoreplay\fR は、キーの押し下げやプログラムの出力の間にある待ち時間の秒数を調節する。 このオプションを使えば、表示速度を早くしたり遅くしたりできるわけだ。 たとえば、\fIspeed_factor\fR に \fI2\fR を指定すれば、 出力の速度が 2 倍になるし、\fI\.5\fR を指定すれば、出力の速度が半分になる。 .IP "\-V" 12 .IX Item "-V" \&\fB\-V\fR (version) オプションを指定すると、 \&\fBsudoreplay\fR はバージョン番号を表示して終了する。 .SS "日付と時刻のフォーマット" .IX Subsection "Date and time format" 日付と時刻の指定には、幾通りもの方法がある。よく使うフォーマットには、 次のものがある。 .IP "\s-1HH:MM:SS\s0 am \s-1MM/DD/CCYY\s0 timezone" 8 .IX Item "HH:MM:SS am MM/DD/CCYY timezone" 午前/午後 (am/pm) の代わりに 24 時間制の時刻を使ってもよい。 .IP "\s-1HH:MM:SS\s0 am Month Day, Year timezone" 8 .IX Item "HH:MM:SS am Month, Day Year timezone" 午前/午後 (am/pm) の代わりに 24 時間制の時刻を使ってもよい。 月や曜日の名前には短縮形を使うこともできる。 月や曜日の名前は、英語で指定しなければならないのに注意すること。 (訳注: 曜日を指定する場合は、月と日にちの間以外なら、 たいていの場所に置くことができる。 なお、上記書式のように、年の前にコンマを入れるかどうかは、任意である。) .IP "CCYY-MM-DD \s-1HH:MM:SS\s0" 8 .IX Item "CCYY-MM-DD HH:MM:SS" \&\s-1ISO\s0 の日時フォーマット。 .IP "\s-1DD\s0 Month \s-1CCYY\s0 \s-1HH:MM:SS\s0" 8 .IX Item "DD Month CCYY HH:MM:SS" 月の名前には短縮形も使える。 .PP 日付と時刻の一方を省略することができる。 am/pm とタイムゾーンは、 指定してもしなくてもよい。日付が指定されない場合は、 当日が指定されたものと見なされる。時刻が指定されない場合は、 指定された日にちの 00:00:00 が使用される。 時刻や日付のそれほど重要ではない部分も省略できるが、 その場合は 0 が指定されたものと見なされる。 たとえば、以下の表記は、すべて有効である。 .PP 以下の表記は、すべて有効な日時の指定である。 .IP "now" 8 .IX Item "now" 今日の今。 .IP "tomorrow" 8 .IX Item "tomorrow" 今からちょうど 1 日後。 .IP "yesterday" 8 .IX Item "yesterday" 24 時間前。 .IP "2 hours ago" 8 .IX Item "2 hours ago" 2 時間前。 .IP "next Friday" 8 .IX Item "next Friday" 次の金曜日の 00:00:00。 .IP "this week" 8 .IX Item "this week" 時刻は現在時刻。日付は来週の最初の日。 .IP "a fortnight ago" 8 .IX Item "a fortnight ago" 14 日前の現在時刻。 .IP "10:01 am 9/17/2009" 8 .IX Item "10:01 am 9/17/2009" 2009 年 9 月 17 日 午前 10 時 01 分。 .IP "10:01 am" 8 .IX Item "10:01 am" 今日の午前 10 時 01 分。 .IP "10" 8 .IX Item "10" 今日の午前 10 時 00 分。 .IP "9/17/2009" 8 .IX Item "9/17/2009" 2009 年 9 月 17 日 午前 0 時 00 分。 .IP "10:01 am Sep 17, 2009" 8 .IX Item "10:01 am Sep 17, 2009" 2009 年 9 月 17 日 午前 10 時 01 分。 .SH "ファイル" .IX Header "FILES" .IP "\fI/var/log/sudo\-io\fR" 24 .IX Item "/var/log/sudo-io" I/O ログを格納するデフォルトのディレクトリ。 .IP "\fI/var/log/sudo\-io/00/00/01/log\fR" 24 .IX Item "/var/log/sudo-io/00/00/01/log" セッションログの情報 (一例)。 .IP "\fI/var/log/sudo\-io/00/00/01/stdin\fR" 24 .IX Item "/var/log/sudo-io/00/00/01/stdin" セッションの標準入力のログ (一例)。 .IP "\fI/var/log/sudo\-io/00/00/01/stdout\fR" 24 .IX Item "/var/log/sudo-io/00/00/01/stdout" セッションの標準出力のログ (一例)。 .IP "\fI/var/log/sudo\-io/00/00/01/stderr\fR" 24 .IX Item "/var/log/sudo-io/00/00/01/stderr" セッションの標準エラーのログ (一例)。 .IP "\fI/var/log/sudo\-io/00/00/01/ttyin\fR" 24 .IX Item "/var/log/sudo-io/00/00/01/ttyin" セッションの tty 入力のログ (一例)。 .IP "\fI/var/log/sudo\-io/00/00/01/ttyout\fR" 24 .IX Item "/var/log/sudo-io/00/00/01/ttyout" セッションの tty 出力のログ (一例)。 .IP "\fI/var/log/sudo\-io/00/00/01/timing\fR" 24 .IX Item "/var/log/sudo-io/00/00/01/timing" セッションのタイミングを記録したファイル (一例)。 .PP \&\fBsudo\fR があるコマンドのためにパイプラインの一部として使用されたときを除いて、 \&\fIstdin\fR, \fIstdout\fR, \fIstderr\fR 用のファイルは空になることに注意してほしい。 .SH "用例" .IX Header "EXAMPLES" ユーザ \fImillert\fR が実行したセッションを列挙する。 .PP .Vb 1 \& sudoreplay \-l user millert .Ve .PP ユーザ \fIbob\fR が実行したセッションのうち、 コマンドに vi という文字列が含まれるものを列挙する。 .PP .Vb 1 \& sudoreplay \-l user bob command vi .Ve .PP ユーザ \fIjeff\fR が実行したセッションのうち、 コマンドが下記の正規表現にマッチするものを列挙する。 .PP .Vb 1 \& sudoreplay \-l user jeff command \*(Aq/bin/[a\-z]*sh\*(Aq .Ve .PP \&\fIjeff\fR か \fIbob\fR がコンソールで実行したセッションを列挙する。 .PP .Vb 1 \& sudoreplay \-l ( user jeff or user bob ) tty console .Ve .SH "関連項目" .IX Header "SEE ALSO" \&\fIsudo\fR\|(8), \fIscript\fR\|(1) .SH "作者" .IX Header "AUTHOR" Todd C. Miller .SH "バグ" .IX Header "BUGS" \&\fBsudoreplay\fR にバグを発見したと思ったら、下記にアクセスして、 バグレポートを提出していただきたい。 .br http://www.sudo.ws/sudo/bugs/ .SH "サポート" .IX Header "SUPPORT" ある程度の無料サポートが sudo-users メーリングリストを通じて利用できる。 購読やアーカイブの検索をなさりたかったら、下記 URL をご覧になること。 .br http://www.sudo.ws/mailman/listinfo/sudo\-users .SH "免責" .IX Header "DISCLAIMER" \&\fBsudoreplay\fR は「現状のまま」提供される。 明示的な、あるいは黙示的ないかなる保証も、 商品性や特定目的への適合性についての黙示的な保証を含め、 またそれのみに止まらず、これを否認する。詳細な全文については、 \&\fBsudo\fR と一緒に配布されている \s-1LICENSE\s0 ファイルや、 下記 Web ページを御覧いただきたい。 .br http://www.sudo.ws/sudo/license.html