visudo

visudoは、sudo用の設定ファイルを編集するコマンドである。

構文

visudo [-c] [-q] [-s] [-V] [-f sudoers]
-c
--check
構文エラー、所有者及びモードについてチェックする。
-f sudoers
--file=sudoers
デフォルトのsudoersファイル(/etc/sudoers)の代わりに、指定したファイルを編集またはチェックする。
-q
--quiet
構文エラーに関する詳細を表示しない。このオプションは、-cオプションと組み合わせた場合にのみ役立つ。
-s
--strict
sudoersファイルを厳密にチェックする。
-V
--version
visudoとsudoersの文法バージョンを表示して、コマンドを終了する。

sudoersファイル

sudoの設定ファイルはsudoersファイルと呼ばれ、デフォルトのパスは /etc/sudoers である。

sudoersファイルの例を示す。

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

sudo用の設定ファイルの書式を示す。

user machine=(privilege) command
user
sudo権限を与えるユーザ名
machine
ホスト名
privilege
誰の権限でコマンドを実行するかを指定する。
command
はsudoで使えるコマンドを絶対パスで指定する。コマンドを複数指定する場合は、カンマ(,)で区切る。
root        ALL=(ALL)    ALL
horiuchi    ALL=(ALL)    ALL

Linuxコマンド