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
コメント