更新履歴
- Python Docstringの書き方完全ガイド|主要スタイルの比較と保守性を高める記述
- シングルトン(Singleton)デザインパターンを徹底解説!Java実装例・メリット・デメリット
- サインインとログインの違いとは?意味・使い分けをわかりやすく解説
- 静的サイトと動的サイトの違いを徹底比較!メリット・デメリットと選び方を解説
- モノリスとマイクロサービスの違いを徹底比較|メリット・デメリットと失敗しない選定基準
- RESTとSOAPの違いを徹底比較!特徴・メリット・使い分けを解説
- 同期・非同期とブロッキング・ノンブロッキングの違い|概念と使い分けを徹底比較
- マルチプロセスとマルチスレッドの違いを解説!メリット・デメリット・使い分け
- hostsファイルとDNSの違いとは?優先順位・仕組み・使い分けを解説
- Excelで複数行を1行にまとめる方法まとめ【関数・PQ対応】
- レスポンスタイムとターンアラウンドタイムの違い【基本情報対策】
- ステートレスとステートフルの違いを徹底解説!エンジニアが知るべき仕組みと具体例
- shとbashの違いを徹底解説!シェルスクリプトの使い分け
- 【徹底比較】イーサネットとWi-Fi違いと選び方を解説
- 【徹底解説】UTF-8 BOMあり・なしの違いと選び方
- npmとYarn、開発者が知るべき違いとは?
- 【Linux】nanoコマンドの使い方 | 基本操作からショートカット、便利設定
- 「Git pull 強制」は危険?ローカル変更を破棄してリモートに合わせる安全な方法
- 【保存版】PNGとJPEGの違いを徹底比較!用途別使い分けガイド
- GUI・CUI・CLIの違いとは?初心者でもわかる特徴・メリット・使い分けを徹底解説
お役立ちツール
Linuxユーザにお勧めの本
本サイトのコンテンツは、生成AI+人力で作成されている記事があります。 可能な限りのファクトチェックは行っておりますが、一部の情報が正確ではない可能性がありますので予めご了承ください。
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/sudoerssudoers確認結果例
以下確認結果より、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:userXusermodコマンド(sudo権限付与)
以下コマンドでtest-userをsudoグループに追加します。
sudo usermod -aG sudo test-usersudo権限付与後
以下の通り、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:userXLinuxユーザにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!