Ubuntu で Sudo ユーザーを追加する方法
root ユーザでなければ、sudo コマンドを使って特定のコマンドを実行することができません。ルートユーザは sudo ユーザとも呼ばれる。Ubuntu では、sudo ユーザーを sudo グループに追加したり、/etc/sudoers ディレクトリ内のファイルに追加したりすることで、sudo ユーザーを追加することができます。
ユーザを sudo グループに追加する
例えば、sudo ユーザではないユーザがいるとしましょう。そのユーザを sudo グループに追加するには、既存のスーパーユーザとして以下のコマンドを実行します。
usermod -aG sudo username
ここで、username は sudo グループに追加する必要があるユーザの名前です。
usermod -aG sudo zeppy
これにより、zeppy が sudo グループに追加されます。
ユーザが sudo グループに追加されたかどうかを確認するには、whoami コマンドを使用します。
sudo whoami
このコマンドはパスワードの入力を求めてくるので、パスワードが正しくてユーザが sudo グループに入っていれば、ターミナルに root が表示されます。
出力:
root
ユーザが sudo グループに入っていない場合、user is not in the sudoers file というエラーが表示されます。
ユーザを sudoers ファイルに追加する
sudo ユーザは /etc/sudoers ファイルにリストされています。sudoers ファイルを修正するか、/etc/sudoers.d ディレクトリに新しい設定ファイルを追加することで、sudo ユーザを追加することができます。
vim エディタを使って /etc/sudoers ファイルを編集するには visudo コマンドを使用します。visudo コマンドは保存する前にファイルの構文エラーをチェックします。
以下のコマンドを用いて、/etc/sudoers ファイルを nano エディタを用いて編集します。
EDITOR=nano visudo
パスワードを要求されずに sudo コマンドの実行を許可したい場合は、以下のコマンドを用いて /etc/sudoers ファイルを開きます。
visudo
権限が拒否されたというエラーが表示される場合は、次のコマンドを試してください。
sudo visudo
これで /etc/sudo ファイルが開かれ、ファイルの最後に行き、次の行を追加する必要があります。
username ALL=(ALL) NOPASSWD:ALL
ここで、username は許可を与えるユーザの名前です。
エディタを終了する前にファイルを保存する必要があります。
また、パスワードなしで特定のコマンドのみを実行することを許可することもできます。
zeppy ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
これにより、zeppy はパスワードなしで /bin/mkdir と /bin/rmdir というコマンドを実行することができます。
また、/etc/sudoers.d ディレクトリに設定ファイルを作成することで、ユーザがコマンドを実行できるようにすることもできます。
ここで、/etc/sudo ファイルに追加した内容と同じ内容をファイルに追加しなければなりません。
zeppy ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
これにより、zeppy はパスワードなしで /bin/mkdir と /bin/rmdir のコマンドを実行できるようになります。
この方法の利点は、各ユーザのファイル名を持つ別のファイルを作成できるので、より管理しやすくなることです。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn