【Ubuntu】ユーザに管理者権限を付与する方法(sudoを出来るようにする方法)

Ubuntuで一般ユーザにsudoできる権限(管理者権限)を付与する方法です。

sudoとは

sudoとは、一般ユーザが管理者権限を取得するために使用するコマンドのことです。

ユーザが管理者権限を必要とするコマンドを実行する場合は、sudoを使い管理者権限を取得してコマンドを実行する必要があります。

例えばサーバを再起動したい場合は、下記のようにsudoを使ってrebootコマンドを実行します。

$ sudo reboot

sudoを使用せずrebootコマンドを実行すると、下記のような権限が無いといったメッセージが表示されて実行することできません。

$ reboot
Failed to set wall message, ignoring: Interactive authentication required.
Failed to reboot system via logind: Interactive authentication required.
Failed to open initctl fifo: Permission denied
Failed to talk to init daemon.

表示されるメッセージはコマンドによって異なりますが、権限が無いとかrootユーザで実行する必要がある等のメッセージが表示されるはずです。

sudoを使うにはsudoグループに所属している必要がある

一般のユーザがsudoを使うには、sudoグループに所属している必要があります。

sudoグループに所属していないユーザがsudoを使用すると、下記のようなメッセージが表示されてsudoを使用することができません。

$ sudo ls
[sudo] password for tamo: 
tamo is not in the sudoers file.  This incident will be reported.

ユーザをsudoグループへ追加するためにはgpasswdコマンドを使用しますが、このコマンドを実行するためには管理者権限が必要になります。

rootユーザでgpasswdする場合

sudoを実行出来るユーザがいない場合等は、rootユーザでgpasswdコマンドを実行します。

この場合、rootユーザでログインするか、下記のようにsuコマンドでrootユーザになってからgpasswdコマンドを実行してください。

$ su -
# gpasswd -a ユーザ名 sudo 

sudoを使ってgpasswdする場合

sudoが使えるユーザの場合は、sudoを使ってgpasswdコマンドを実行してください。

$ sudo gpasswd -a ユーザ名 sudo 

実行例

実際にtamoというユーザをsudo出来るように設定していきます。

idコマンドで所属しているグループを確認すると、sudoグループに所属していないことが分かります。

$ id tamo
uid=1001(tamo) gid=1001(tamo) groups=1001(tamo)

gpasswdコマンドでユーザtamoをsudoグループに追加します。

$ sudo gpasswd -a tamo sudo
Adding user tamo to group sudo

sudo実行時にパスワードの入力を求められた場合は、gpasswdを実行したユーザのパスワードを入力してください。

sudoグループに追加されたかの確認方法

「id ユーザ」コマンドでsudoグループに所属しているか確認することができます。

$ id tamo
uid=1001(tamo) gid=1001(tamo) groups=1001(tamo),27(sudo)

/etc/groupファイルを参照して、sudoグループに存在しているか確認するという方法もあります。

$ grep sudo /etc/group

コメント

タイトルとURLをコピーしました