
スポンサーリンク
usermod
コマンドで、一般ユーザにsudo権限を付与する方法をtest-user
を例に解説します。
ユーザの追加方法は、Debian/Ubuntu系はこちらのリンクを他ディストリビューションはこちらのリンクをご参照ください。
確認した環境
22.04.3 LTS (Jammy Jellyfish)
usermodコマンド構文(sudo権限付与)
sudo usermod -aG [グループ] [ユーザ]
[グループ]にはsudo
権限のあるグループ指定します。
オプション
オプション | 意味 |
---|---|
-a | -Gで指定したセカンダリーグループを追加する。 |
-G | セカンダリーグループ(複数ある場合は「,」で区切って指定)を指定。 |
sudo権限付与前
以下は、sudo権限付与前のtest-user
のユーザ情報とグループ情報です。
ユーザ情報
$ id test-useruid=1001(test-user) gid=1001(test-user) groups=1001(test-user)$ cat /etc/passwd | grep test-usertest-user:x:1001:1001:,,,:/home/test-user:/bin/bash
グループ情報
$ groups test-usertest-user : test-user$ cat /etc/group | grep test-usertest-user:x:1001:
sudo実行(失敗)
以下の通り、test-userではsudo
コマンドの実行が失敗します。
$ 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 specificationroot 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 sudosudo:x:27:userX
usermodコマンド(sudo権限付与)
以下コマンドでtest-user
をsudo
グループに追加します。
sudo usermod -aG sudo test-user
sudo権限付与後
以下の通り、test-user
にsudo
グループが追加されたことを確認できました。
$ groups test-usertest-user : test-user sudo$ cat /etc/group | grep sudosudo:x:27:userX,test-user
以下の通りsudo
グループ追加後、test-user
からsudoコマンドを実行できました。
$ su - test-userPassword: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 InReleaseGet: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... DoneBuilding dependency tree... DoneReading state information... Done57 packages can be upgraded. Run 'apt list --upgradable' to see them.
sudoグループからユーザーを削除
以下コマンドを実行してtest-userをsudoグループから削除することができます。(削除ユーザに誤りがないか確認の上、実行してください。)
sudo deluser test-user sudo
以下の通り、test-userからsudo権限が削除されたことを確認できました。
$ groups test-usertest-user : test-user$ cat /etc/group | grep sudosudo:x:27:userX
以上で本記事の解説を終わります。
よいITライフを!