Ubuntu で Sudo ユーザーを追加する方法

Suraj Joshi 2023年1月30日
  1. ユーザを sudo グループに追加する
  2. ユーザを sudoers ファイルに追加する
Ubuntu で Sudo ユーザーを追加する方法

root ユーザでなければ、sudo コマンドを使って特定のコマンドを実行することができません。ルートユーザは sudo ユーザとも呼ばれる。Ubuntu では、sudo ユーザーを sudo グループに追加したり、/etc/sudoers ディレクトリ内のファイルに追加したりすることで、sudo ユーザーを追加することができます。

ユーザを sudo グループに追加する

例えば、sudo ユーザではないユーザがいるとしましょう。そのユーザを sudo グループに追加するには、既存のスーパーユーザとして以下のコマンドを実行します。

usermod -aG sudo username

ここで、usernamesudo グループに追加する必要があるユーザの名前です。

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
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn