当サイトではアフィリエイト広告を利用しています。

【Linux】sudoコマンドをパスワード無しで実行できるようにする方法

2022年12月20日

今回はLinuxのsudoコマンドを実行した際にパスワード入力無しでそのまま実行させる設定方法を紹介します。

デフォルト状態でsudoコマンドを実行した場合

まずは、Linuxをインストールしてから何も変更を加えない状態のまま、一般ユーザ(今回はhayanaユーザ)でsudoコマンドを実行したらどのようになるかを試してみます。

例:rootユーザにスイッチするコマンド

$ sudo su
[sudo] hayana のパスワード:

上記の様にsudoコマンド実行時はユーザパスワード(今回はhayanaのユーザパスワード)を求められます。

これを毎回打つのは面倒くさいのでパスワード無しでsudoコマンドを実行できるように設定していきます。

sudoコマンドのパスワード要求を無効化する設定手順

パスワード無効化設定は/etc/sudoersファイルに記載します。

sudoersファイルを開く

まずは、以下のコマンドでsudoersファイルを開き、何が記載されているか確認しましょう。

sudo visudo
もしくは
vi /etc/sudoers  ←非推奨

このsudoersファイルを壊したらsudoが使えなくなる可能性があります。

極端な話、記載ミスを絶対しないのであればviエディターでsudoersファイルを直接書き換えても問題はありません。

自身がない場合は「sudo visudo」でsudoersを編集しましょう。

以下はsudoersファイルの一部を抜粋したものです。
sudoコマンドを実行することが出来るユーザとグループが記載されています。

# 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

上記を見てみると、「root ALL=(ALL:ALL) ALL」との記載があり、これを超ざっくりに読み取ると「rootユーザはsudoコマンドを使えるよ」ということが書いてあります。

%adminと%sudoが記載されている行では、Ubuntuインストール時から用意されているadminグループとsudoグループにsudo使用権限が付与されている為、この2つの所属しているユーザはsudoコマンドを実行することが出来ます。

また、ユーザ「hayana」は元々sudoグループに属すように設定されています。

sudoersファイルにパスワード無効化を記載

sudoのパスワードを無効化するには各ユーザ、各グループ用に記載されている最後のALLの前に「NOPASSWD:」を付加するだけで完了します。

sudoをパスワード無しで実行するというのは、すべてのコマンドがパスワード無しで実行出来てしまうということなので、必要最低限の範囲に設定しましょう。

設定方法はユーザとグループのどちらも紹介しますが、余程の理由がない限りはユーザ単位での設定を推奨します。

単体ユーザにパスワード無しsudo権限を与える場合

<ユーザ名> ALL=(ALL:ALL) NOPASSWD: ALL

ユーザhayanaでは以下の様になります。

hayana ALL=(ALL:ALL) NOPASSWD: ALL

グループにパスワード無しsudo権限を与える場合

%<グループ名> ALL=(ALL:ALL) NOPASSWD: ALL

ユーザhayanaが所属しているsudoグループに設定する例では以下の様になります。

%sudo ALL=(ALL:ALL) NOPASSWD: ALL

設定対象のユーザからログアウト

sudoパスワード入力を無効化設定したユーザがログインされている状態のままだと、書き換え後のsudoersファイルが適用されていない状態なので、一度exitコマンドでログアウトします。

設定対象のユーザでログイン

再度ログインします。

設定対象のユーザがhayanaである場合はログイン用コマンドは以下のコマンドです。

su - hayana

sudoコマンドを実行してみる

sudoコマンドのテストとして以下のコマンドを使ってrootユーザに切り替えてみましょう。

hayana@ubuntu:~$ sudo su -
root@ubuntu:~#
上記の様にパスワードを求められることがなくなりました!
↓sudoers設定が上手くいかない場合
これで設定が完了です!
↓Linuxの勉強で使った参考書
Amazonで購入
楽天で購入