名前


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

書式


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

説明


visudo は、vipw(8) と同じような安全な方法で sudoers ファイルを編集する。 visudo は複数同時の編集に対して sudoers ファイルをロックし、 基本的な文法エラーやパースエラーをチェックしてくれる。 sudoers ファイルが現在すでに編集中であった場合、 try again later というメッセージが出される。

visudo が使用するエディタのリストは、 コンパイル時に設定され、ハードコードされている。 これは editor sudoers

Default
変数で上書きできる。 このリストのデフォルトはシステムにある vi(1) へのパスで、 configure スクリプトで決定される。 上で述べたリストのエディタが
EDITOR
VISUAL
環境変数にない限り、 通常 visudo はこれらの環境変数を使わない。 ただし visudo—with-enveditor フラグをつけて コンパイル時に設定されている場合、 または sudoersenveditor
Default
変数が設定されている場合、 visudo
EDITOR
VISUAL
で定義されている 任意のエディタを使用する。 これはセキュリティホールになるので注意すること。
EDITOR
VISUAL
に設定するだけで、 ユーザに任意のプログラムの実行を許可してしまう。

visudo は、編集後 sudoers ファイルをパースし、 文法エラーがあった場合は変更を保存しない。 エラーが見つかると、visudo はそれが起こった 行番号を示すメッセージが表示し、 What now? というプロンプトを出す。 この場合、 sudoers ファイルを再編集するならば e, 変更を保存せずに終了するならば x, 終了と変更の保存をするならば Q を入力すればよい。 Q オプションは特別に注意を払って使用すべきである。 なぜなら、visudo はパースエラーになるといっているので、 パースエラーが修正されるまでは、sudo と全てのユーザが sudo を実行できなくなるからである。 パースエラーが見つかった後で e を入力して sudoers を編集すると、 カーソルがエラーが起こった箇所に置かれる (エディタがこの機能をサポートしている場合のみ)。

オプション


visudo は、以下のようなコマンドラインオプションを受け付ける。
-c check-only (チェックのみ) モードを有効にする。 既存の sudoers ファイルの文法チェックが行われ、 sudoers の情報の詳細を標準出力に表示する。 文法チェックが成功した場合、 visudo は値 0 で終了する。 文法エラーがあった場合、 visudo は値 1 で終了する。
-f sudoers ファイルの場所を指定して別のファイルを使う。 このオプションを使うと、 visudo はデフォルトの /etc/sudoers ではなく、 ユーザが選んだ sudoers ファイルを編集 (またはチェック) する。 使用されるロックファイルは、 指定した sudoers ファイルに .tmp を付けたものである。
-q quiet (表示抑制) モードを有効にする。 このモードでは文法エラーの詳細は表示されない。 このオプションは -c フラグと組み合わせた場合にのみ役立つ。
-s sudoers ファイルの strict (厳密な) チェックを可能にする。 エイリアスが定義される前に使用されている場合、 visudo はパースエラーとみなす。 エイリアスと、大文字・数字・アンダースコア (’_’) のみを含む ホスト名またはユーザ名を区別するのは不可能であることに注意すること。
-V (version) オプションは、 visudo にバージョン番号を表示させた後、終了させる。

エラー


sudoers file busy, try again later. 誰か他のユーザが、現在 sudoers ファイルを編集している。
/etc/sudoers.tmp: Permission denied root 権限で visudo を実行しなかった。
Can’t find you in the passwd database あなたのユーザ ID がシステムの passwd ファイルのなかに見つからない。
Warning: undeclared Alias referenced near ... 定義する前に {User,Runas,Host,Cmnd}_Alias のどれかを使用している。 または、大文字・数字・アンダースコア (’_’) のみを含んだ ユーザまたはホスト名がリストにある。 後者の場合、sudo は警告を出さないので) 警告を無視することができる。 -s (strict 厳密な) モードでは、これらは警告ではなくエラーになる。

環境変数


visudo に (コンパイル時に) —with-env-editor オプションが設定されていた場合にのみ、 以下の環境変数が使われる。


 EDITOR                 エディタとして visudo に起動される。
 VISUAL                 EDITOR が設定されていない場合、
                        visudo に起動されて使用される。

ファイル



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

著者


多くの人々が長年に渡り sudo の製作に携わってきた。 このバージョンの visudo は、


 Todd Miller            <Todd.Miller@courtesan.com>

によって書かれた。 更に詳しくは、sudo ディストリビューションの HISTORY ファイルを参照するか、 http://www.sudo.ws/sudo/history.html を参照すること。

バグ


sudo のバグを発見したと思った場合は、 http://www.sudo.ws/sudo/bugs/ にバグの報告を送って下さい。

放棄宣言


Visudo is provided ‘‘AS IS’’ and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. See the LICENSE file distributed with sudo for complete details.

警告


visudo の使用するエディタがシェルにエスケープできる場合、 ユーザに root のシェルを入手させないための簡単な方法はない。

関連項目


vi(1), sudo(8), vipw(8).

openSUSE Logo

コンテンツ