「sudoによる入出力のロギング」の版間の差分
提供: セキュリティ
(ページの作成:「<!-- vim: filetype=mediawiki --> sudo では、入出力のロギングを行えます。使い方によっては、ターミナルの入出力を記録できます...」) |
|||
(同じ利用者による、間の2版が非表示) | |||
行1: | 行1: | ||
− | |||
− | |||
− | |||
[[sudo]] では、入出力のロギングを行えます。使い方によっては、ターミナルの入出力を記録できます。 | [[sudo]] では、入出力のロギングを行えます。使い方によっては、ターミナルの入出力を記録できます。 | ||
行8: | 行5: | ||
== 概要 == | == 概要 == | ||
[[sudo]] では、入出力のロギングを行えます。使い方によっては、ターミナルの入出力を記録できます。 | [[sudo]] では、入出力のロギングを行えます。使い方によっては、ターミナルの入出力を記録できます。 | ||
− | |||
== 事前準備 == | == 事前準備 == | ||
user というユーザーを用意します。[[パスワード]]を設定します。 | user というユーザーを用意します。[[パスワード]]を設定します。 | ||
行15: | 行11: | ||
$ sudo passwd user | $ sudo passwd user | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
== 設定 == | == 設定 == | ||
− | |||
sudo visudo で [[sudoers]] に設定を行います。入出力のロギングの設定を追加します。 | sudo visudo で [[sudoers]] に設定を行います。入出力のロギングの設定を追加します。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行24: | 行18: | ||
OPS_USERS ALL=(ALL) ALL | OPS_USERS ALL=(ALL) ALL | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
== ログのディレクトリ == | == ログのディレクトリ == | ||
− | |||
[[ログ]] は、 /var/log/sudo-io に格納されます。 | [[ログ]] は、 /var/log/sudo-io に格納されます。 | ||
− | |||
== 使い方 == | == 使い方 == | ||
− | |||
=== ロギング === | === ロギング === | ||
ユーザー user で [[sudo]] コマンドで[[zsh]] を起動します。[[zsh]] や[[zsh]] から派生プロセスへの入出力がすべて記録されます。 | ユーザー user で [[sudo]] コマンドで[[zsh]] を起動します。[[zsh]] や[[zsh]] から派生プロセスへの入出力がすべて記録されます。 | ||
行43: | 行33: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
ターミナルの入出力がすべて保存されます。 | ターミナルの入出力がすべて保存されます。 | ||
− | |||
=== ロギングしたデータの一覧 === | === ロギングしたデータの一覧 === | ||
− | |||
[[sudoreplay]] コマンドでログインしたセッションの一覧を確認できます。 | [[sudoreplay]] コマンドでログインしたセッションの一覧を確認できます。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行61: | 行49: | ||
sudoreplay -l user foo | sudoreplay -l user foo | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
=== イベントの再生 === | === イベントの再生 === | ||
− | |||
[[sudoreplay]] コマンドを使用して、ターミナルの入出力を再現できます。 sudoreplay -l で確認した TSID を指定します。 | [[sudoreplay]] コマンドを使用して、ターミナルの入出力を再現できます。 sudoreplay -l で確認した TSID を指定します。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ sudo sudreplay 000003 | $ sudo sudreplay 000003 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
=== 作成されるファイル === | === 作成されるファイル === | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ sudo find /var/log/sudo-io/00/00/01 | $ sudo find /var/log/sudo-io/00/00/01 | ||
行84: | 行68: | ||
;/var/log/sudo-io/00/00/01: セッションのログのディレクトリです。 | ;/var/log/sudo-io/00/00/01: セッションのログのディレクトリです。 | ||
− | ;/var/log/sudo-io/00/00/01/ttyout: セッションの | + | ;/var/log/sudo-io/00/00/01/ttyout: セッションの tty の出力ファイルです。 |
;/var/log/sudo-io/00/00/01/stdin: [[stdin]] のログです。 | ;/var/log/sudo-io/00/00/01/stdin: [[stdin]] のログです。 | ||
;/var/log/sudo-io/00/00/01/stdout: [[stdout]] のログです。 | ;/var/log/sudo-io/00/00/01/stdout: [[stdout]] のログです。 | ||
− | ;/var/log/sudo-io/00/00/01/ttyin: セッションの | + | ;/var/log/sudo-io/00/00/01/ttyin: セッションの tty の入力ファイルです。 |
;/var/log/sudo-io/00/00/01/stderr: [[stderr]] のログです。 | ;/var/log/sudo-io/00/00/01/stderr: [[stderr]] のログです。 | ||
;/var/log/sudo-io/00/00/01/log: セッションログの情報です。 | ;/var/log/sudo-io/00/00/01/log: セッションログの情報です。 | ||
;/var/log/sudo-io/00/00/01/timing: セッションのタイミングのファイルです。 | ;/var/log/sudo-io/00/00/01/timing: セッションのタイミングのファイルです。 | ||
− | [[stdin]], [[stdout]], [[stderr]] のファイルは、任意のコマンドのパイプラインの一部として [[sudo]] | + | [[stdin]], [[stdout]], [[stderr]] のファイルは、任意のコマンドのパイプラインの一部として [[sudo]] を使わない場合は、空っぽです。 |
− | + | ||
== 関連項目 == | == 関連項目 == | ||
− | + | {{sudo}} | |
− | + | <!-- vim: filetype=mediawiki | |
− | + | --> | |
− | + |
2015年9月22日 (火) 22:15時点における最新版
sudo では、入出力のロギングを行えます。使い方によっては、ターミナルの入出力を記録できます。
概要
sudo では、入出力のロギングを行えます。使い方によっては、ターミナルの入出力を記録できます。
事前準備
user というユーザーを用意します。パスワードを設定します。
$ sudo adduser $ sudo passwd user
設定
sudo visudo で sudoers に設定を行います。入出力のロギングの設定を追加します。
User_Alias OPS_USERS = user Defaults:OPS_USERS log_output,log_input OPS_USERS ALL=(ALL) ALL
ログのディレクトリ
ログ は、 /var/log/sudo-io に格納されます。
使い方
ロギング
ユーザー user で sudo コマンドでzsh を起動します。zsh やzsh から派生プロセスへの入出力がすべて記録されます。
$ su user $ sudo zsh # ps # top # vim /tmp/XYZ # exit $
ターミナルの入出力がすべて保存されます。
ロギングしたデータの一覧
sudoreplay コマンドでログインしたセッションの一覧を確認できます。
$ sudo sudoreplay -l Sep 7 20:07:56 2013 : user : TTY=/dev/pts/3 ; CWD=/home/user ; USER=root ; TSID=000001 ; COMMAND=/bin/zsh Sep 7 20:08:51 2013 : user : TTY=/dev/pts/3 ; CWD=/home/user ; USER=root ; TSID=000002 ; COMMAND=/bin/zsh Sep 7 20:09:28 2013 : user : TTY=/dev/pts/3 ; CWD=/home/user ; USER=root ; TSID=000003 ; COMMAND=/bin/zsh
ユーザー foo のセッションを一覧表示します。
sudoreplay -l user foo
イベントの再生
sudoreplay コマンドを使用して、ターミナルの入出力を再現できます。 sudoreplay -l で確認した TSID を指定します。
$ sudo sudreplay 000003
作成されるファイル
$ sudo find /var/log/sudo-io/00/00/01 /var/log/sudo-io/00/00/01 /var/log/sudo-io/00/00/01/ttyout /var/log/sudo-io/00/00/01/stdin /var/log/sudo-io/00/00/01/stdout /var/log/sudo-io/00/00/01/ttyin /var/log/sudo-io/00/00/01/stderr /var/log/sudo-io/00/00/01/log /var/log/sudo-io/00/00/01/timing
- /var/log/sudo-io/00/00/01
- セッションのログのディレクトリです。
- /var/log/sudo-io/00/00/01/ttyout
- セッションの tty の出力ファイルです。
- /var/log/sudo-io/00/00/01/stdin
- stdin のログです。
- /var/log/sudo-io/00/00/01/stdout
- stdout のログです。
- /var/log/sudo-io/00/00/01/ttyin
- セッションの tty の入力ファイルです。
- /var/log/sudo-io/00/00/01/stderr
- stderr のログです。
- /var/log/sudo-io/00/00/01/log
- セッションログの情報です。
- /var/log/sudo-io/00/00/01/timing
- セッションのタイミングのファイルです。
stdin, stdout, stderr のファイルは、任意のコマンドのパイプラインの一部として sudo を使わない場合は、空っぽです。
関連項目
- sudoコマンド
- sudoのインストール
- sudoの設定
- sudoの使い方
- sudoによる入出力のロギング
- visudo
- sudoedit
- sudoers
- sudoreplay