bionic (8) visudo.8.gz

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