【Linux】ユーザにsudo権限を付与・削除する方法

【Linux】ユーザにsudo権限を付与・削除する方法

Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:802 / 総アクセス数:1,425 views

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

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-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実行(失敗)

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

sodoコマンド実行例(失敗)
$ 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の実行制御を確認します。

Terminal window
sudo cat /etc/sudoers

sudoers確認結果例

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

/etc/sudoersの内容
# 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グループに所属していません。

sudoのグループ情報
$ cat /etc/group | grep sudo
sudo:x:27:userX

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

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

sudo件権付与コマンド
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コマンドを実行できました。

権限付与後、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.

sudoグループからユーザーを削除

以下コマンドを実行してtest-userをsudoグループから削除することができます。(削除ユーザに誤りがないか確認の上、実行してください。)

sudo権限削除
sudo deluser test-user sudo

以下の通り、test-userからsudo権限が削除されたことを確認できました。

権限削除後確認
$ groups test-user
test-user : test-user
$ cat /etc/group | grep sudo
sudo:x:27:userX

Linuxユーザにお勧めの本

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!

難易度
実用性
習得度

アウトプット重視で記憶に定着しやすい。反復練習でLinux操作が自由自在になります。

エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書

難易度
実用性
読みやすさ


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

Linuxユーザにお勧めの本

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

人気記事


記事を評価

Thanks!
目次
Scroll to Top