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-user
をsudo
グループに追加します。
sudo usermod -aG sudo test-user
sudo権限付与後
以下の通り、test-user
にsudo
グループが追加されたことを確認できました。
$ 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ライフを!