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