流れ5の7語目 / 10

ユーザーとグループ

Linux

root を使わない進め方に直して、手順書の次の行へ進みます。「同期の user2 も設定ファイルを直せるようにする」

「user2 を sampleapp グループに追加しといて」
「ユーザーとグループ」って、何のことだろう…?

ユーザーは、Linuxを使う人ごとのアカウントです。

グループは、ユーザーをまとめる単位です。グループに入れると、そのグループに許された操作がまとめてできるようになります。

このページで分かること読む 約4分・問題 2問
  • ユーザーは、Linuxを使う人(やサービス)ごとのアカウント
  • グループは、ユーザーをまとめる単位
  • ユーザーは主グループを1つ持ち、ほかのグループ(補助グループ)にもいくつか入れる
  • グループへの追加は usermod -aG

身近な例えで理解する

生徒は一人ひとり出席番号を持ちます。クラスは1つだけですが、部活や委員会にはいくつも入れます。部室の鍵は、その部の部員なら借りられます。

  • 生徒一人ひとりユーザー
  • 所属するクラス(1つ)主グループ
  • 部活・委員会(いくつでも)補助グループ
  • 部員なら部室の鍵を借りられるグループに入っていれば、そのグループに許された操作ができる

部室の鍵を部員ごとに一人ずつ登録しなくても、「この部の部員はOK」で済みます。グループも同じで、権限をまとめて決められます。

ちょっと確認

Q14択

グループを使う理由として正しいものは?

例えを外して、実際のしくみ

ここからは実際のしくみ
ユーザー

人ごと、またはサービスごとのアカウントです。名前と番号(ユーザーID)を持ちます。誰がどのファイルを持っているか、誰が何をしたかを区別するのに使います

グループと権限

ファイルには「持ち主のユーザー」と「持ち主のグループ」があります。グループに読み書きを許しておけば、そのグループのユーザー全員が使えます(くわしい読み方は→08 パーミッション)

主グループと補助グループ

ユーザーは主グループを1つ持ちます(多くの環境で、ユーザーと同じ名前のグループが作られます)。ほかのグループにも補助グループとしていくつか入れます。ユーザーの情報は /etc/passwd、グループの情報は /etc/group に書かれています

追加のしかた

sudo usermod -aG sampleapp user2 のように書きます。-G は「補助グループをこれにする」、-a は「今までのグループに足す」という意味です。-a を忘れると、書かなかった補助グループから外れてしまいます。追加したかは id user2 で確かめます。user2 がすでにログインしている場合、新しいグループが効くのはログインし直してからです

実行例(練習用に用意した Ubuntu 24.04 で、user2 というユーザーで実際に動かした結果)。グループに追加する前:
user2@vm:~$ id user2
uid=30033(user2) gid=30033(user2) groups=30033(user2)
管理者(root)が usermod -aG sampleapp user2 を実行したあと:
user2@vm:~$ id user2
uid=30033(user2) gid=30033(user2) groups=30033(user2),30034(sampleapp)

groups= の最後に sampleapp が増えました。gid= が主グループ、groups= が入っているグループの一覧です。

このページのまとめ

ユーザー
人やサービスごとのアカウントです
グループ
ユーザーをまとめて、権限をまとめて決める単位です
主グループ / 補助グループ
1つだけ持つグループ / ほかに入っているグループです
usermod -aG
ユーザーを補助グループに「足す」コマンドの書き方です

先輩のひとことの意味

先輩「user2 を sampleapp グループに追加しといて」

ls -l で見ると、この設定ファイルは持ち主のグループが sampleapp で、グループにも書く許可がついています(rw-rw-r--、→08 パーミッション)。「user2 を sampleapp グループのメンバーに足して、user2 も設定ファイルを直せるようにして」という意味です。-a をつけて、今までのグループはそのまま残します。user2 には、ログインし直してもらうよう伝えます。

練習問題で確かめる

Q2先輩のひとこと
先輩「-a つけ忘れると、ほかのグループから外れちゃうよ」

user2 を、今までのグループはそのままで sampleapp グループに足すコマンドは?

参考資料

ご意見・「これで例えて!」を募集しています

ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。

  • 説明してほしいITの言葉
  • 例えてほしい場面(部活・アルバイト・家事など)
  • 分かりにくかったところ・間違いのご指摘

意見箱は準備中です。

解説・例え・練習問題はすべてオリジナルです。参考にしているのは公式ドキュメントのみです。ご意見・ご感想・間違いのご指摘など、何でもお寄せください。確認してすぐに直します。

LinuCはLPI-Japanの登録商標です。当サイトはLPI-Japanおよび他の企業・団体とは関係ありません。

運営:core