CentOS でスーパーユーザーを追加する方法

Suraj Joshi 2023年1月30日
  1. ユーザを wheel グループに追加する
  2. ユーザを Sudoers ファイルに追加する
CentOS でスーパーユーザーを追加する方法

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

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

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

usermod -aG wheel username

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

usermod -aG wheel zeppy

これにより、zeppywheel グループに追加されます。

ユーザが wheel グループに追加されたかどうかを確認するには、whoami コマンドを用います。

sudo whoami

このコマンドはパスワードの入力を求めてくるので、パスワードが正しく、ユーザが wheel グループに属していれば、ターミナルに root が表示されます。

出力:

root

ユーザが wheel グループに入っていない場合、user is not in the sudoers file というエラーが表示されます。

ユーザを Sudoers ファイルに追加する

sudo の権限を持つユーザは /etc/sudoers ファイルで設定します。sudoers ファイルを変更するか、/etc/sudoers.d ディレクトリに新しい設定ファイルを追加することで、sudo ユーザーを追加することができます。

/etc/sudoers ファイルを編集するには visudo コマンドを使用します。visudo コマンドは保存する前にファイルの構文エラーをチェックします。

nano エディタを用いて /etc/sudoers ファイルを編集するには、以下のコマンドを用います。

EDITOR=nano visudo

パスワードの入力を求められることなく sudo コマンドの実行を許可したい場合は、コマンドを使って /etc/sudoers ファイルを開きます。

visudo

これで permission denied というエラーが出た場合は、以下のコマンドを試してみてください。

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