Provided by: manpages-ja_0.5.0.0.20161015+dfsg-1_all bug

名前

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

書式

       visudo [-chqsV] [-f sudoers] [-x output_file]

説明

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

       visudo が使用するエディタについては、 コンパイル時に設定された一つ以上のエディタからなるリ
       ストがプログラムに埋め込まれているが、 sudoers ファイルの Defaults 行で editor オプション
       を使えば、 それを変更することができる。このリストは、デフォルトでは vi になっている。 通常
       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 ファイルを編集しよ
       うとすると、カーソルがファイルのエラーが起きた行に飛ぶ (エディタにその機能があればだが)。

       オプションとして以下のものが使用できる。

       -c, --check check-only モードを有効にする。 現在の sudoers ファイルの文法エラー、所有
                   者、アクセス権をチェックする。 -q オプションが指定されていない場合は、メッセー
                   ジを標準出力に表示して、 sudoers の状態を報告する。チェックが成功裡に終わった
                   場合、 visudo は返り値 0 で終了する。エラーに出会った場合の返り値は 1 である。

       -f sudoers, --file=sudoers
                   デフォルト以外の sudoers ファイルの位置を指定する。 このオプションを付ける
                   と、visudo はデフォルトの /etc/sudoers ではなく、 ユーザが選んだ sudoers ファ
                   イルを編集 (あるいは、チェック) することになる。 ロックファイルとしては、指定
                   された sudoers ファイルの名前の末尾に ".tmp" を付けたものが使われる。な
                   お、check-only モードの場合だけは、 -f の引数に '-' を指定することができる。
                   これは、標準入力から sudoers を読み込むということである。

       -h, --help  標準出力に簡単なヘルプメッセージを表示して終了する。

       -q, --quiet quiet モードを有効にする。このモードでは、文法エラーの詳細は表示されない。 こ
                   のオプションが役に立つのは、-c オプションと組み合わせたときだけである。

       -s, --strict
                   sudoers ファイルの厳密 (strict) チェックを有効にする。 エイリアスを定義する前
                   に使用すると、 visudo がそれを文法エラーと見なすようになる。 ホスト名やユーザ
                   名がアルファベットの大文字、数字、アンダースコア ('_') だけから構成されている
                   場合には、 そうしたものとエイリアスとの区別が付かないことに注意していただきた
                   い。

       -V, --version
                   visudo のバージョンと sudoers の文法バージョンを表示して終了する。

       -x output_file, --export=output_file
                   sudoers を JSON フォーマットに変換 (export) して、 output_file に書き出
                   す。output_file が '-' の場合は、 変換された sudoers ポリシーが標準出力に書き
                   出されることになる。 デフォルトでは、/etc/sudoers (及び、それにインクルードさ
                   れているすべてのファイル) が変換の対象になる。 -f を使用すれば、それ以外の
                   sudoers ファイルを変換対象として指定することができる。 フォーマットを変換する
                   のは、サードパーティのアプリケーションにとって、 従来の sudoers のフォーマット
                   よりも解析しやすくするためである。 様々な値は明示的なタイプを持ち、そうするこ
                   とで従来の sudoers フォーマットの持つ曖昧さの多くを排除している。

   デバッグと sudoers プラグインへの引き数について
       バージョン 1.8.4 以上の visudo は、 柔軟なデバッグ用の枠組みをサポートしてお
       り、sudo.conf(5) ファイルの Debug 行で設定するようになっている。

       sudo 1.8.12 以降の visudo は、 (訳注: /etc/sudo.conf で指定された) sudoers プラグインに対
       する引き数も理解する。 そうした引き数は、sudoers ファイルのパス名、UID、GID、 ファイルの
       モードを、デフォルトのものから変更しているのである。 そうした引き数が存在する場合は、プラ
       グインのパスの後ろに (すなわち、sudoers.so の後ろに) 列挙することになっている。 複数の引き
       数があるときは、ホワイトスペースで区切って指定すればよい。 一例を挙げる。

             Plugin sudoers_policy sudoers.so sudoers_mode=0400

       以下の引き数が使用できる。

       sudoers_file=pathname
                 sudoers_file 引き数を使用すると、 sudoers ファイルのパスをデフォルトのものから変
                 更することができる。

       sudoers_uid=uid
                 sudoers_uid 引き数を使用すると、 sudoers ファイルの所有者をデフォルトのものから
                 変更することができる。 指定には、ユーザ ID 番号を使うべきである。

       sudoers_gid=gid
                 sudoers_gid 引き数を使用すると、 sudoers ファイルのグループをデフォルトのものか
                 ら変更することができる。 指定には、グループ ID 番号を使用しなければならない (グ
                 ループ名ではない)。

       sudoers_mode=mode
                 sudoers_mode 引き数を使用すると、 sudoers ファイルのファイル・モードをデフォルト
                 のものから変更することができる。 指定には、8 進数の値を使うべきである。

       sudo.conf(5) の設定についてさらに詳しいことをお知りになりたかったら、 sudo.conf(5) のマ
       ニュアルをご覧になっていただきたい。

環境変数

       以下の環境変数が参照されるかどうかは、sudoers における editorenv_editor の値次第であ
       る。

       VISUAL           visudo が起動するエディタ

       EDITOR           VISUAL が設定されていないとき visudo が使用するエディタ

ファイル

       /etc/sudo.conf            sudo のフロントエンドの設定

       /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) は、 定義され
             ているが、一度も使用されていない。そうした使用しないエイリアスは、 コメントアウトす
             るなり、消去するなりしてもよい。

       Warning: cycle in {User,Runas,Host,Cmnd}_Alias
             指摘された User_Alias (あるいは、Runas_Alias, Host_Alias, Cmnd_Alias) は、 直接自分
             自身を参照しているか、 構成要素のエイリアスを通して自分自身を参照している。 sudosudoers ファイルを解析するとき、 循環を無視するので、デフォルトでは単なる警告になっ
             ている。

       visudo: /etc/sudoers: input and output files must be different
             -x オプションを使用する際に引数として指定した output_file ファイルのパス名が、 変換
             対象である sudoers ファイルのパス名と同じである。

関連項目

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

作者

       多数の人々が長年に渡って sudo の開発に取り組んできた。 このバージョンは、主として次の者が
       書いたコードからなっている。

             Todd C. Miller

       sudo の開発に貢献してくださった方々の詳細なリストについては、 配布物中の CONTRIBUTORS ファ
       イルをご覧になっていただきたい (https://www.sudo.ws/contributors.html)。

警告

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

バグ

       visudo にバグを発見したと思ったら、https://bugzilla.sudo.ws/ にアクセスして、バグレポート
       を提出していただきたい。

サポート

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

免責

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