ユーザーとグループ
root を使わない進め方に直して、手順書の次の行へ進みます。「同期の user2 も設定ファイルを直せるようにする」
ユーザーは、Linuxを使う人ごとのアカウントです。
グループは、ユーザーをまとめる単位です。グループに入れると、そのグループに許された操作がまとめてできるようになります。
- ユーザーは、Linuxを使う人(やサービス)ごとのアカウント
- グループは、ユーザーをまとめる単位
- ユーザーは主グループを1つ持ち、ほかのグループ(補助グループ)にもいくつか入れる
- グループへの追加は usermod -aG
身近な例えで理解する
生徒は一人ひとり出席番号を持ちます。クラスは1つだけですが、部活や委員会にはいくつも入れます。部室の鍵は、その部の部員なら借りられます。
- 生徒一人ひとりユーザー
- 所属するクラス(1つ)主グループ
- 部活・委員会(いくつでも)補助グループ
- 部員なら部室の鍵を借りられるグループに入っていれば、そのグループに許された操作ができる
部室の鍵を部員ごとに一人ずつ登録しなくても、「この部の部員はOK」で済みます。グループも同じで、権限をまとめて決められます。
ちょっと確認
グループを使う理由として正しいものは?
例えを外して、実際のしくみ
ユーザー
人ごと、またはサービスごとのアカウントです。名前と番号(ユーザーID)を持ちます。誰がどのファイルを持っているか、誰が何をしたかを区別するのに使います
主グループと補助グループ
ユーザーは主グループを1つ持ちます(多くの環境で、ユーザーと同じ名前のグループが作られます)。ほかのグループにも補助グループとしていくつか入れます。ユーザーの情報は /etc/passwd、グループの情報は /etc/group に書かれています
追加のしかた
sudo usermod -aG sampleapp user2 のように書きます。-G は「補助グループをこれにする」、-a は「今までのグループに足す」という意味です。-a を忘れると、書かなかった補助グループから外れてしまいます。追加したかは id user2 で確かめます。user2 がすでにログインしている場合、新しいグループが効くのはログインし直してからです
user2@vm:~$ id user2
uid=30033(user2) gid=30033(user2) groups=30033(user2)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 には、ログインし直してもらうよう伝えます。
練習問題で確かめる
user2 を、今までのグループはそのままで sampleapp グループに足すコマンドは?
参考資料
ご意見・「これで例えて!」を募集しています
ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。
- 説明してほしいITの言葉
- 例えてほしい場面(部活・アルバイト・家事など)
- 分かりにくかったところ・間違いのご指摘
意見箱は準備中です。