【Linux】一般ユーザにsudo権限を付与する方法

【Linux】一般ユーザにsudo権限を付与する方法

usermodコマンドで、一般ユーザにsudo権限を付与する方法を解説します。「/etc/sudoers」に記載されているグループ権限を一般ユーザに付与することで、sudo権限を扱えるようになります。

usermodコマンドで、一般ユーザにsudo権限を付与する方法をtest-userを例に解説します。
ユーザの追加方法は、Debian/Ubuntu系はこちらのリンク
他ディストリビューションはこちらのリンクをご参照ください。

usermodコマンド構文(sudo権限付与)

sudo usermod -aG [グループ] [ユーザ]

[グループ]にはsudo権限のあるグループ指定します。

オプション

オプション意味
-a-Gで指定したセカンダリーグループを追加する。
-Gセカンダリーグループ(複数ある場合は「,」で区切って指定)を指定。

sudo権限付与前

以下は、sudo権限付与前のtest-userのユーザ情報とグループ情報です。

ユーザ情報

$ id test-user
uid=1001(test-user) gid=1001(test-user) groups=1001(test-user)
$ cat /etc/passwd | grep test-user
test-user:x:1001:1001:,,,:/home/test-user:/bin/bash

グループ情報

$ groups test-user
test-user : test-user
$ cat /etc/group | grep test-user
test-user:x:1001:

sudo実行(失敗)

以下の通り、sudoコマンドの実行は失敗します。

$ su - test-user
Password:
$ sudo apt update
[sudo] password for test-user:
test-user is not in the sudoers file.  This incident will be reported.

設定ファイル確認(/etc/sudoers)

sudoers確認コマンド

以下ファイルからsudoの実行制御を確認します。

sudo cat /etc/sudoers

sudoers確認結果例

以下確認結果より、sudoグループの権限をtest-userに付与することにします。


# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

sudoグループの確認

現状test-userは、sudoグループに所属していません。

$ cat /etc/group | grep sudo
sudo:x:27:userX

usermodコマンド(sudo権限付与)

以下コマンドでtest-usersudoグループに追加します。

sudo usermod -aG sudo test-user

sudo権限付与後

以下の通り、test-usersudoグループが追加されたことを確認できました。

$ groups test-user
test-user : test-user sudo
$ cat /etc/group | grep sudo
sudo:x:27:userX,test-user

以下の通りsudoグループ追加後、test-userからsudoコマンドを実行できました。

$ su - test-user
Password:
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
$ sudo apt update
[sudo] password for test-user:
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1987 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 c-n-f Metadata [17.8 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1112 kB]
Get:8 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [67.8 kB]
Get:9 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [28.8 kB]
Fetched 3598 kB in 3s (1302 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
57 packages can be upgraded. Run 'apt list --upgradable' to see them.

確認した環境

22.04.3 LTS (Jammy Jellyfish)


以上で本記事の解説を終わります。
よいITライフを!
Scroll to Top