VMやWSLの開発環境でパッケージマネージャーを操作する時に何度もパスワード入力するのが面倒なので楽をする。
セキュリティに関して
セキュリティ的に良いかどうかは目をつむる。
特定のユーザーやグループに対して、特定のコマンドの実行を許可するという意味では良いとは思う。
システムに破壊的変更ができるものをパスワードレスで実行できるという意味ではヤバいと思う。
そのため、本番環境などでは慎重に設定すること。
ここでは開発用のVMやWSLなどで設定し、よく使うroot権限が必要なコマンドの実行を簡単にすることを目的とする。
特定のコマンドだけパスワード無しにする設定
例としてUbuntuでの設定を記す。
sudo visudo
EDITORが無いと言われた場合、env
を使って一時的にEDITOR
を定義する。
sudo env EDITOR=nvim visudo
EDITOR=nvim
の部分は好きなエディタを入れる。
そして次の設定を記述する。
%sudo ALL=PASSWD: ALL, NOPASSWD: /usr/bin/apt
コマンドは,
区切りで複数指定できる。
%sudo ALL=PASSWD: ALL, NOPASSWD: /usr/bin/apt, /usr/bin/mount