手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 sudo パスワード確認の抑止

目次に戻る

Overview

sudo (superuser do) は、任意のユーザーでコマンドを実行するための方法を提供します。実行可能なコマンドの制限なども設定可能です。Ubuntu では root ユーザーのパスワードを設定しないことが前提(することも可)となっており、デフォルトでは初期インストールに設定した管理ユーザーが sudo を実行できる権限を持ちます。つまり、システムの重要な部分の操作は、管理ユーザーが sudo して操作を行います。

sudo を使用してコマンドを実行する場合、デフォルトでは自身のパスワード入力を求められます。これは一度入力すると一定時間はパスワード入力が不要となりますが、設定された時間を超過、またはログアウトした場合は再度パスワード入力が必要となります。

本稿では sudo を使用する際のパスワード入力を抑止します。もちろん、ルール上、パスワード入力を必須としたい場合はこの手順は不要ですが、例えば、パブリッククラウドが提供する Ubuntu は sudo 時のパスワード入力がデフォルトで無効になっています。

sudo 時のパスワード入力がなぜ必要であるかを考えると、それを実行しようとしているユーザーの正当性を確認するためであり、ログインしたままでコンソールを放置するような環境では、不正なユーザーがシステム的に重要なコマンドを実行できてしまう可能性があるため、有効な制限だと思います。このため、これを対策できる環境であれば、便宜上、パスワード入力を抑止することも一つのアイデアです。

/etc/sudoers.d/admin

以下のファイルを配置することで、次回ログイン時から sudo を実行する際のパスワード入力が不要となります。ここでは myadmin が管理ユーザーとなります。

myadmin@ubuntu:~$ sudo tee /etc/sudoers.d/admin <<"EOF"
myadmin ALL=(ALL:ALL) NOPASSWD: ALL
EOF

本来、sudoers の編集には、visudo の利用が推奨されています。これは変更時の構文チェックを同時に行ってくれるためです。とはいえ、/etc/sudoers.d 内にファイルを配置して設定する方法は非常に便利であり、Ansible などの IaC から設定する際もシンプルにすることができます。

目次に戻る

Ubuntu 22.04 sudo パスワード確認の抑止

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る