投稿履歴
- npmとYarn、開発者が知るべき違いとは?
- 【Linux】nanoコマンドの使い方 | 基本操作からショートカット、便利設定
- 「Git pull 強制」は危険?ローカル変更を破棄してリモートに合わせる安全な方法
- 【保存版】PNGとJPEGの違いを徹底比較!用途別使い分けガイド
- GUIとCUIの違いとは?初心者でもわかるメリット・デメリットと使い分けを徹底解説
- Web1 Web2 Web3 違いを徹底解説:それぞれの特徴と比較
- SMTP・POP3・IMAPの違いを徹底解説 | メール送受信プロトコル
- 【Linux】容量の大きいファイル・ディレクトリを確認する方法
- nc(Netcat)コマンド徹底解説|ポート指定で疎通確認する
- 【VSCode】JSON・XMLを整形・最小化する方法
- 【Excel】シートが見えない!表示されない原因と対処法
- 【Linux】lsofコマンドの見方・活用ガイド
- 【A5M2】テーブルにNULL値を入力する方法
- 【Linux】標準出力と標準エラー出力の違い
- DRAMとSRAMの違い・覚え方を徹底解説!
- 【サクラエディタ】スペースとタブを置換する方法
- 【Excel】VBAの起動方法(開発タブが表示されない場合)
- 今日から使える!Gitコミットメッセージの書き方と型
- 【Excel】区切り指定でCSVを貼り付ける方法
- 【Linux】テキストファイルの重複行を削除する方法
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ライフを!