VISUDO

Section: MAINTENANCE COMMANDS (8)
Updated: June 11, 2009
Index JM Home Page roff page
 

名前

visudo - sudoers ファイルを編集する  

書式

visudo [-c] [-q] [-s] [-V] [-f sudoers]  

説明

visudo は vipw(8) によく似た安全なやり方で sudoers ファイルを編集する。 visudo は sudoers ファイルをロックして、重複した編集が同時に行われないようにするとともに、 整合性をざっと調べ、文法エラーのチェックを行う。 sudoers ファイル が現在編集中だった場合は、「try again later」というメッセージを端末に 表示する。

visudo が使用するエディタについては、コンパイル時に設定された エディタのリストがプログラムに埋め込まれているが、sudoers ファイルの Defaults
行で editor オプションを使えば、 それを変更することができる。このリストはデフォルトでは、 使用しているシステムにおける vi(1) のパスであり、 configure スクリプトによって割り出されたものだ。 通常 visudo は、環境変数 VISUAL
や EDITOR
の値が上述のエディタ・リストに含まれる エディタでないかぎり、そうした環境変数を使用しない。とは言え、visudo が --with-env-editor オプションを付けて configure されている場合や、 sudoeres ファイルの Defaults
行で env_editor オプションがセットされている場合は、visudo は VISUAL
や EDITOR
によって指定された どんなエディタでも使用することになる。これがセキュリティホールに なりかねないことに注意してほしい。単に VISUAL
や EDITOR
を設定するだけで、ユーザが任意のプログラムを 実行できるようになってしまうからだ。

visudo は編集が終わると、sudoers ファイルの文法解析を行い、 文法エラーがあれば、変更を保存しない。visudo はエラーを発見すると、 エラーが起きた行番号を知らせるメッセージを表示し、``What now?'' と いうプロンプトを出す。このとき、``e'' を押せば、 sudoers ファイルを再編集できる。``x'' を押せば、 変更を保存せず終了だし、``Q'' を押せば、変更を保存して終了だ。 ``Q'' の選択は、くれぐれも慎重にやってほしい。なぜなら、 visudo が文法エラーがあると考えるのなら、sudo も 同様に考えるはずであり、エラーが訂正されるまで、もう誰にも sudo が 使えなくなってしまうからだ。文法エラーが発見されたとき、``e'' を 押して sudoers ファイルを編集しようとすると、カーソルがファイルの エラーが起きた行に飛ぶ (エディタにその機能があればだが)。  

オプション

visudo では以下のコマンドラインオプションが使用できる。
-c
check-only モードを有効にする。現在の sudoers ファイルの 文法をチェックし、メッセージを標準出力に表示して、 sudoers の状態を詳細に報告する。文法チェックが成功裡に終わった場合、 visudo は返り値 0 で終了する。文法エラーに出会った場合の 返り値は 1 である。
-f sudoers
sudoers ファイルの位置を指定・変更する。このオプションを 付けると、 visudo はデフォルトの /etc/sudoers ではなく、 ユーザが選んだ sudoers ファイルを編集 (あるいは、チェック) する ことになる。ロックファイルとしては、指定された sudoers ファイルの 名前の末尾に ``.tmp'' を付けたものが使われる。
-q
quiet モードを有効にする。このモードでは、文法エラーの詳細情報は 表示されない。このオプションに意味があるのは、-c オプションと 組み合わせたときだけである。
-s
sudoers ファイルの厳密 (strict) チェックを有効にする。 エイリアスを定義する前に使用すると、visudo がそれを文法エラーと 見なすようになるわけだ。ホスト名やユーザ名がアルファベットの大文字、 数字、アンダースコア ('_') だけから構成されている場合、そうしたものと エイリアスとの区別は付かないことに注意してほしい。
-V
オプションに -V (version) を付けると、visudo は バージョンナンバーを表示して、終了する。
 

環境変数

以下の環境変数が参照されるかどうかは、sudoers の editor や env_editor オプションの値次第である。
VISUAL
visudo が起動するエディタ
EDITOR
VISUAL が設定されていないとき visudo が使用するエディタ
 

ファイル

/etc/sudoers
誰が何を実行できるかのリスト
/etc/sudoers.tmp
visudo が使うロックファイル
 

メッセージによる診断

sudoers file busy, try again later.
現在、ほかの誰かが sudoers ファイルを編集中だ。
/etc/sudoers.tmp: Permission denied
visudo を root として実行しなかった。
Can't find you in the passwd database
あなたのユーザ ID はシステムの passwd ファイルに載っていない。
Warning: {User,Runas,Host,Cmnd}_Alias referenced but not defined
User_Alias, Runas_Alias, Host_Alias, Cmnd_Alias のどれかを、 定義しないまま使用しようとしている。 あるいは、記載したユーザ名かホスト名の中に、アルファベットの大文字、 数字、アンダースコア ('_') のみからなるものがある。後者の場合は、 この warning を無視して構わない (sudo は警告を出さないないだろう)。 -s (strict) モードでは、warning ではなく、error になる。
Warning: unused {User,Runas,Host,Cmnd}_Alias
指摘された User_Alias (あるいは、Runas_Alias, Host_Alias, Cmnd_Alias) は 定義されているが、一度も使用されていない。そうした使用しないエイリアスは、 コメントアウトするなり、消去するなりしてもよいだろう。 -s (strict) モードでは、warning ではなく、error になる。
 

関連項目

vi(1), sudoers(5), sudo(8), vipw(8)  

作者

sudo の製作には、多数の人々が長年に渡って取り組んできた。 visudo の当バージョンを書いたのは、


 Todd Miller

である。詳細については、配布物中の HISTORY ファイルか、 http://www.sudo.ws/sudo/history.html を御覧になっていただきたい。  

警告

visudo が使用するエディタでシェル・エスケープが可能なかぎり、 ユーザがルート・シェルを獲得するのを防止する簡単な方法はない。  

バグ

visudo にバクを発見したと思ったら、下記のページにアクセスして、 バグレポートを提出していただきたい。
http://www.sudo.ws/sudo/bugs/  

サポート

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

免責

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


 

Index

名前
書式
説明
オプション
環境変数
ファイル
メッセージによる診断
関連項目
作者
警告
バグ
サポート
免責

This document was created by man2html, using the manual pages.
Time: 03:27:25 GMT, April 25, 2010