1 .\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!
2 .\" IT IS GENERATED AUTOMATICALLY FROM sudo.conf.mdoc.in
4 .\" Copyright (c) 2010-2016 Todd C. Miller <Todd.Miller@courtesan.com>
6 .\" Permission to use, copy, modify, and distribute this software for any
7 .\" purpose with or without fee is hereby granted, provided that the above
8 .\" copyright notice and this permission notice appear in all copies.
10 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
19 .\"*******************************************************************
21 .\" This file was generated with po4a. Translate the source file.
23 .\"*******************************************************************
25 .\" Japanese Version Copyright (c) 2016 Yoichi Chonan
26 .\" all rights reserved.
27 .\" Translated (sudo-1.8.17) Sat Sep 10 10:39:07 JST 2016
28 .\" by Yoichi Chonan <cyoichi@maple.ocn.ne.jp>
30 .TH SUDO.CONF 5 "June 15, 2016" "Sudo 1.8.17" "File Formats Manual"
34 \fBsudo.conf\fP \- sudo フロントエンドの設定
36 \fBsudo.conf\fP ファイルは、\fBsudo\fP フロントエンドの設定に使用される。
37 セキュリティポリシー・プラグイン、入出力ロギング・プラグイン、
39 プラグインが何かにはかかわりののない (プログラムやライブラリの) パス名や、
40 \fBsudo\fP フロントエンドのその他の設定も、ここで指定することができる。
42 sudoers ファイルが、誰が何を実行できるかなどの
43 \fBsudoers\fP セキュリティポリシーの設定に使用されるのに対して、
45 \fBsudo\fP コマンドが使用するセキュリティポリシー・プラグインを特定したり、
46 どんなデバッグ情報を記録するかを指定したりするなど、\fBsudo\fP フロントエンド、
47 すなわち \fBsudo\fP コマンドそのものの動作の設定に使用される。
49 \fBsudo.conf\fP では、次の命令 (directive) が使用できる。各命令については、
53 セキュリティポリシー・プラグインや入出力ロギング・プラグインを指定する
56 プラグインが何かにはかかわりのない (プログラムやライブラリの) パス
59 \fIdisable_coredump\fP や \fIgroup_source\fP のようなフロントエンドの設定
62 \fBsudo\fP, \fBsudoreplay\fP, \fBvisudo\fP、及び \fBsudoers\fP
63 プラグインのデバッグに使用するデバッグ・フラグ
65 パウンド記号 ('#') は、コメントであることを示すために使用される。
66 コメントを示す記号とそれに続くテキストは、行末に至るまで無視される。
68 長い行は、行末にバックスラッシュ ('\e') を置くことで、継続することができる。
69 行頭にあるホワイト・スペースは、行の継続を示す記号が使われている場合でも、
70 行頭から取り除かれることに注意していただきたい。
72 コメント行以外でも、Plugin, Path, Debug, Set で始まっていない行は、無視される。
75 \fBsudo.conf\fP ファイルの解析は、常に "C" ロケールで行われる。
77 \fBsudo\fP はセキュリティポリシーと入出力のロギングについて、プラグイン方式をサポートしている。
78 従って、サードパーティは、\fBsudo\fP のフロントエンドとシームレスに協働するポリシー・プラグインや、
79 入出力ロギング・プラグインを独自に開発して、配布することができる。
80 プラグインは、\fBsudo.conf\fP の記述に基づいて、動的にロードされる。
82 Plugin 行は、キーワード Plugin に始まり、\fIsymbol_name\fP と \fIpath\fP が続く。
83 \fIpath\fP は、プラグインを含む動的共有オブジェクトへのパスである。
84 \fIsymbol_name\fP は、プラグインに含まれる policy_plugin 構造体や
85 io_plugin 構造体のシンボル名である。\fIpath\fP は絶対パスでも相対パスでもよい。
86 相対パスの場合は、Path 命令の \fIplugin_dir\fP で指定したディレクトリを基点とする相対パスであり、
87 デフォルトの基点は \fI/usr/local/libexec/sudo\fP である。すなわち、
91 Plugin sudoers_policy sudoers.so
99 Plugin sudoers_policy /usr/local/libexec/sudo/sudoers.so
103 プラグインが動的な共有オブジェクトとしてインストールされているのではなく、
104 \fBsudo\fP のバイナリに静的に組み込まれている場合は、
105 \fIpath\fP にディレクトリまで指定してはいけない。
106 ファイルシステム中に実際に存在するわけではないからだ。
111 Plugin sudoers_policy sudoers.so
115 \fBsudo\fP 1.8.5 以降では、\fIpath\fP の後ろにパラメータを付けると、それは、
116 プラグインの \fIopen\fP 関数に引き数として渡されるようになっている。たとえば、
117 コンパイル時に指定した sudoers ファイルのデフォルトのモードを変更するには、
122 Plugin sudoers_policy sudoers.so sudoers_mode=0440
126 使用できる引き数のリストについては、sudoers(5) のマニュアルをご覧いただきたい。
129 それぞれ違ったシンボル名を持つ複数のプラグインを含んでいても構わない。
130 共有オブジェクト・ファイルは、uid 0 の所有でなければならず、
131 また、所有者のみ書き込み可能でなければならない。
132 同時に複数のポリシーがあると、曖昧さが生じるので、
133 ポリシー・プラグインは一つしか指定できない。
134 この制限は 入出力プラグインには当てはまらない。
136 \fBsudo.conf\fP ファイルが存在しない場合や、存在しても Plugin 行を含まない場合は、
137 デフォルトのセキュリティポリシーとして \fBsudoers\fP プラグインが使用されることになる。
138 入出力ロギングにも (ポリシーによって有効になっていれば)、
139 \fBsudoers\fP プラグインが使用される。これは次の記述と同じことである。
143 Plugin sudoers_policy sudoers.so
144 Plugin sudoers_io sudoers.so
148 \fBsudo\fP プラグインの仕組みについてもっと詳しい情報が必要なら、
149 sudo_plugin(5) のマニュアルをご覧になっていただきたい。
151 Path 行は、キーワード Path に始まり、設定するパスの名称とその値が続く。
156 Path noexec /usr/local/libexec/sudo/sudo_noexec.so
157 Path askpass /usr/X11R6/bin/ssh\-askpass
161 パス名が (訳注: パスの名称ではなく、パスの値が) 指定されていない場合は、
162 その設定に依存する機能を無効化することになる。
163 パス設定の無効化をサポートしているのは、バージョン 1.8.16 以上の \fBsudo\fP だけである。
166 プラグインが何かにはかかわりのない (プログラムやライブラリの) パスを
167 \fI/etc/sudo.conf\fP で設定することができる。
170 端末が利用できないときに、ユーザのパスワードを読み込むのに使用するヘルパー・プログラムの絶対パス。
171 たとえば、\fBsudo\fP がグラフィカルな (つまり、テキストベースではない)
172 アプリケーションから実行される場合がこれに当たる。
173 \fIaskpass\fP で指定されたプログラムは、自分に渡された引き数をプロンプトとして表示し、
174 ユーザのパスワードを標準出力に書き出すべきである。\fIaskpass\fP の値は、
175 環境変数 SUDO_ASKPASS によって上書きすることができる。
178 ライブラリ関数 \fBexecl\fP(), \fBexecle\fP(), \fBexeclp\fP(), \fBexect\fP(), \fBexecv\fP(),
179 \fBexecve\fP(), \fBexecvP\fP(), \fBexecvp\fP(), \fBexecvpe\fP(), \fBfexecve\fP(),
180 \fBpopen\fP(), \fBposix_spawn\fP(), \fBposix_spawnp\fP(), \fBsystem\fP() のダミー版
181 (単にエラーを返すだけの関数) が入っている共有ライブラリの絶対パス。
182 これは LD_PRELOAD やそれに相当するものをサポートするシステムで
183 \fInoexec\fP 機能を実現するために使用される。デフォルトの値は
184 \fI/usr/local/libexec/sudo/sudo_noexec.so\fP である。
187 絶対パスで指定されていないプラグインを捜すときに使用されるデフォルトのディレクトリ。
188 デフォルトの値は \fI/usr/local/libexec/sudo\fP である
191 \fBsesh\fP バイナリの絶対パス。この設定は、\fBsudo\fP が SELinux
192 サポートを有効にしてビルドされたときにのみ、使用される。
193 デフォルトの値は \fI/usr/local/libexec/sudo/sesh\fP である。
195 \fBsudo.conf\fP ファイルでは、以下に挙げるフロントエンドの設定も行うことができる。
198 デフォルトでは、セキュリティ上問題になるかもしれない情報を漏洩しないように、
199 \fBsudo\fP 自体のコアダンプは無効になっている。
200 \fBsudo\fP そのもののクラッシュをデバッグするためにコアダンプを有効に戻したいならば、
201 次のように、\fBsudo.conf\fP で "disable_coredump" を false にすればよい。
205 Set disable_coredump false
210 最近のオペレーティング・システムでは、どのシステムでも、
211 \fBsudo\fP のような setuid プロセスのコアダンプについて各種の制限を設けているので、
212 このオプションを有効にしても、セキュリティが弱体化することはない。
213 \fBsudo\fP のコアファイルを実際に得るためには、
214 たぶん setuid プロセスに対するコアダンプを有効にする必要があるだろう。
215 BSD や Linux のシステムでは、それは sysctl コマンドで行われる。
216 Solaris では、coreadm コマンドがコアダンプの動作設定に使用される。
218 この設定は、バージョン 1.8.4 以降の \fBsudo\fP でしか使用できない。
222 \fBsudo\fP は、起動したユーザが所属するグループのリストをポリシー・プラグインと
223 入出力プラグインに引き渡す。ほとんどのシステムでは、
224 一人のユーザが同時に所属することのできるグループの数に上限がある (NFS
225 との互換性のために、たいていは 16)。システムに getconf(1)
233 しかしながら、ユーザが上限を越える数のグループのメンバーになることも可能である \-\-
234 上限を越えた分は、そのユーザについてカーネルが返すグループのリストに含まれないだけのことだ。
235 バージョン 1.8.7 以降の \fBsudo\fP では、
236 ユーザについてカーネルが返すグループのリストが所属グループの最大数に達しているときは、
237 \fBsudo\fP はグループ・データベースを直接調べて、グループのリストを決定するようになっている。
238 そうすることによって、ユーザが所属グループの最大数よりも多くのグループのメンバーであるときも、
239 セキュリティポリシーがグループ名によるマッチングを行うことができるようにしているのである。
241 \fIgroup_source\fP の設定によって、管理者がこのデフォルトの動作を変更することができる。
242 \fIgroup_source\fP に対して使用できる値は以下のものである。
245 カーネルが返す static なグループ・リストを使用する。
246 グループ・リストをこの方法で取得するのは迅速だが、上で述べた上限を課されることになる。
247 この方法が "static (静的)" だというのは、ユーザがログインした後で行った、
248 グループ・データベースに対する変更を反映しないからである。
249 これは、\fBsudo\fP 1.8.7 以前のデフォルトの動作だった。
252 常にグループ・データベースに問い合わせる。この方法が "dynamic (動的)"
253 だというのは、ユーザがログインした後でグループ・データベースに行った変更が、
254 グループのリストに反映するからである。システムによっては、
255 グループ・データベースにユーザが所属するすべてのグループを問い合わせると、
257 ネットワーク・ベースのグループ・データベースに問い合わせる場合などがそうだ。
258 もっとも、たいていのオペレーティング・システムは、
259 そうした問い合わせを効率的に行う方法を用意している。現在のところ、
260 \fBsudo\fP は、AIX, BSD, HP\-UX, Linux, Solaris
261 で効率的なグループの問い合わせをサポートしている。
264 カーネルが返す static なグループのリストが、所属グループの最大数に達しているときにのみ、
265 グループ・データベースに問い合わせる。これが \fBsudo\fP 1.8.7 以降のデフォルトの動作である。
267 たとえば、\fBsudo\fP が、ユーザについてカーネルが返す static
268 なグループのリストのみを使うようにしたかったら、以下のように指定する。
272 Set group_source static
276 この設定は、バージョン 1.8.7 以降の \fBsudo\fP でしか使用できない。
280 グループ・データベースから取得するユーザの所属グループの最大数。
281 1 未満の値は無視されることになる。この設定が使用されるのは、
282 グループ・データベースに直接問い合わせるときだけである。
283 グループのリストを入れることになっている配列が十分な大きさを持っていない場合にも、
285 この設定は、そうしたシステムで使用することを目的にしている。
286 デフォルトでは、\fBsudo\fP はシステムが規定しているグループの最大数の (上記参照)
287 4 倍の配列を割り当て、グループ・データベースへの問い合わせが失敗した場合は、
288 その数をさらに倍にして再実行することになっている。しかしながら、
289 システムの中には、配列に納まる数のグループを返すだけで、
290 スペースが不足していてもエラーを知らせないものがあるのだ。
292 この設定は、バージョン 1.8.7 以降の \fBsudo\fP でしか使用できない。
295 デフォルトでは、\fBsudo\fP はシステムのネットワーク・インターフェースを調べて、
296 有効になっている各インターフェースの IP アドレスをポリシー・プラグインに伝える。
297 そのため、プラグインは、DNS に問い合わせるまでもなく、
298 ルールを適用するかどうかを IP アドレスに基づいて決めることができるわけだ。
299 Linux のシステムで多数のバーチャル・インターフェースを使用している場合は、
300 この作業に無視できない時間がかかるかもしれない。
301 IP アドレスに基づいたルールのマッチングが必要ないならば、
302 ネットワーク・インターフェースの検査を次のようにして無効にすることができる。
306 Set probe_interfaces false
311 この設定は、バージョン 1.8.10 以降の \fBsudo\fP でしか使用できない。
314 バージョン 1.8.4 以上の \fBsudo\fP は、デバッグのための柔軟な枠組みに対応しており、
315 問題が生じたときに、\fBsudo\fP の内部で何が起きているかを突き止めるために、
318 デバッグ行の構成は、Debug というキーワードに始まり、
319 デバッグ対象 (\fBsudo\fP, \fBvisudo\fP, \fBsudoreplay\fP, \fBsudoers\fP)
320 のプログラム名、またはプラグイン名と、デバッグファイル名がそれに続き、
321 最後にコンマで区切ったデバッグ・フラグのリストが来るという形になっている。
322 デバッグ・フラグのシンタクスは、\fBsudo\fP と \fBsudoers\fP プラグインでは、
323 \fIsubsystem\fP@\fIpriority\fP という書式を用いるが、コンマ ('\&,')
324 を含まないかぎり、別の書式を使用するプラグインがあっても構わない。
330 Debug sudo /var/log/sudo_debug all@warn,plugin@info
334 上記のように指定すると、\fIwarn\fP レベル以上のすべてのデバッグ情報に加えて、
335 プラグイン・サブシステムについては、\fIinfo\fP レベル以上の情報もログに記録することになる。
337 \fBsudo\fP 1.8.12 以来、一つのプログラムについて複数の
338 Debug 行が指定できるようになっている。
339 \fBsudo\fP のそれ以前のバージョンでは、1 プログラムにつき
340 1 行の Debug 行しかサポートしていなかった。\fBsudo\fP 1.8.12 からは、
341 プラグイン独自の Debug 行もサポートされるようになり、そうした行のマッチングは、
342 ロードされているプラグインのベースネーム (たとえば、sudoers.so)、
343 またはプラグインの絶対パス名によって行われる (訳注: 言い換えれば、
344 プラグイン独自の Debug 行では、プログラム名/プラグイン名の位置に
345 Plugin 行における \fIpath\fP の部分を指定するということだろう)。以前のバージョンでは、
346 \fBsudoers\fP プラグインは、\fBsudo\fP フロントエンドと同じ
347 Debug 行を共有しており、別の設定をすることができなかった。
349 次の priority (重大度) が使用できる。深刻なものから挙げると、
350 \fIcrit\fP, \fIerr\fP, \fIwarn\fP, \fInotice\fP, \fIdiag\fP, \fIinfo\fP, \fItrace\fP, \fIdebug\fP
352 ある priority を指定すると、それよりも深刻なすべての priority も指定したことになる。
353 たとえば、\fInotice\fP という priority を指定すれば、
354 \fInotice\fP レベル以上のデバッグ情報がログに記録されるわけである。
356 \fItrace\fP と \fIdebug\fP の priority では、ファンクション・コールのトレースも行われ、
357 関数に入ったときと関数から戻ったときのログも記録される。たとえば、
358 次のトレースは、src/sudo.c にある get_user_groups() 関数に対するものである。
362 sudo[123] \-> get_user_groups @ src/sudo.c:385
363 sudo[123] <\- get_user_groups @ src/sudo.c:429 := groups=10,0,5
367 関数に入ったときは、右矢印 '\->' で示され、プログラム名、プロセス ID、
368 関数名、ソースファイルと行番号が記録される。
369 関数から戻ったときは、左矢印 '<\-' で示され、同じ情報に加えて、
370 返り値が記録される。上記の場合、返り値は文字列である。
372 \fBsudo\fP フロントエンドでは、以下のサブシステムが使用できる。
416 sudoers(5) プラグインがサポートしているサブシステムには、これ以外のものもある。
420 \fBsudo\fP フロントエンドの設定ファイル
425 # Default /etc/sudo.conf file
428 # Plugin plugin_name plugin_path plugin_options ...
429 # Path askpass /path/to/askpass
430 # Path noexec /path/to/sudo_noexec.so
431 # Debug sudo /var/log/sudo_debug all@warn
432 # Set disable_coredump true
434 # plugin_path が絶対パスでない場合は、/usr/local/libexec/sudo からの
436 # plugin_name は、プラグイン中の、プラグインのインターフェース構造を
437 # 含むグローバル・シンボルと同じものである。
438 # plugin_options を指定するかしないかは、任意である。
440 # Plugin 行が存在しない場合、デフォルトの sudoers プラグインが
442 Plugin sudoers_policy sudoers.so
443 Plugin sudoers_io sudoers.so
448 # askpass ヘルパー・プログラムを指定すると、sudo の "\-A" オプションで
449 # 使用できるように、グラフィカルなパスワード・プロンプトを用意する
450 # ことができる。sudo は、自前の askpass プログラムを配布していないが、
451 # たとえば、OpenSSH の askpass を使用することが可能だ。
453 # OpenSSH askpass を使用する。
454 #Path askpass /usr/X11R6/bin/ssh\-askpass
456 # Gnome の OpenSSH askpass を使用する。
457 #Path askpass /usr/libexec/openssh/gnome\-ssh\-askpass
462 # ライブラリ関数 execv(), execve(), fexecve() のダミー版 (単にエラー
463 # を返すだけの関数) が入っている共有ライブラリのパス。この指定は、
464 # <LD_PRELOAD> やそれに相当するものをサポートしているシステムで
465 # "noexec" 機能を実現するために使用される。たいていの場合、
466 # コンパイル時に組み込まれた値で十分であり、変更するのは、
467 # sudo_noexec.so ファイルをリネームしたり、移動したりしたときのみに
470 #Path noexec /usr/local/libexec/sudo/sudo_noexec.so
475 # sudo はデフォルトでは、自己を実行中のコアダンプを抑止している
476 # (指定されたコマンドを実行するときに、コアダンプを有効にし直す
477 # のだ)。sudo 自体の問題をデバッグするために、コアダンプを有効に
478 # 戻したいならば、"disable_coredump" を false にすればよい。
480 #Set disable_coredump false
485 # sudo は、ユーザが属するグループのリストをポリシー・プラグインに
486 # 引き渡す。ユーザの所属グループが、所属グループの最大数 (たいていは
487 # 16) に達している場合は、sudo は、そのユーザが所属するグループを
488 # すべて取得するため、直接グループ・データベースに問い合わせを行う。
490 # システムによっては、この動作は負担がかかることがあるので、設定に
491 # よって変更できるようになっている。"group_source" で設定できる
493 # static \- ユーザが属するグループのリストにカーネルが返したものを
495 # dynamic \- グループのリストを知るために、グループ・データベースに
497 # adaptive \- ユーザの所属グループが、所属グループの最大数より少ない
498 # ときは、カーネルの返すリストを使う。さもなければ、
499 # グループ・データベースに問い合わせる。
501 #Set group_source static
505 sudoers(5), sudo(8), sudo_plugin(5)
507 sudo の簡単な履歴については、\fBsudo\fP の配布に含まれている
508 HISTORY ファイルをご覧いただきたい。
509 (https://www.sudo.ws/history.html)
511 多数の人々が長年に渡って \fBsudo\fP の開発に携わってきた。
512 当バージョンは主として次の者が書いたコードからできている。
518 \fBsudo\fP の開発に貢献してくださった方々の詳細なリストについては、
519 配布物中の CONTRIBUTORS ファイルをご覧になっていただきたい。
520 (https://www.sudo.ws/contributors.html)
522 \fBsudo\fP にバグを発見したと思ったら、https://www.sudo.ws/
523 にアクセスして、バグレポートを提出していただきたい。
525 ある程度の無料サポートが sudo\-users メーリングリストを通して利用できる。
526 購読やアーカイブの検索には、下記 URL を御覧になるとよい。
527 https://www.sudo.ws/mailman/listinfo/sudo\-users
529 \fBsudo\fP は「現状のまま」提供される。 明示的な、あるいは黙示的ないかなる保証も、
530 商品性や特定目的への適合性についての黙示的な保証を含め、
531 またそれのみに止まらず、これを否認する。詳細な全文については、
532 \fBsudo\fP と一緒に配布されている LICENSE ファイルや、
534 https://www.sudo.ws/license.html