はじめに
この実験では、Linux システムを「誰が」利用しているのかを確認する方法を学びます。
集合住宅を想像してください。
- ユーザー:入居者
- グループ:アクセス許可リスト(ジムグループ、プールグループなど)
システムには、全員の情報を管理する「マスターディレクトリ」があります。この実験では、そのディレクトリを開いて確認します。
Linux は、Unix から強力なマルチユーザー設計を受け継いでいます。小さな実験用システムを実際に使っている人が 1 人だけに見えても、オペレーティングシステムはアカウント、グループ、所有権、アクセス制御という観点でシステムを管理します。
ユーザー一覧を表示する(/etc/passwd)
ユーザーの「マスターディレクトリ」は /etc/passwd です。
このファイルは、スプレッドシートのようなものです。各列はコロン : で区切られています。
従来、/etc/passwd は Unix 系システムの中心的なアカウントデータベースでした。現在のシステムでは、古いシステムよりも安全な方法でパスワードを管理しますが、アカウント情報の構造は、Linux のアイデンティティ管理の基礎であり続けています。
ファイルを表示します。
cat /etc/passwd
出力例:
root:x:0:0:root:/root:/bin/bash
labex:x:5000:5000::/home/labex:/usr/bin/zsh
...
labex:x:5000:5000::/home/labex:/usr/bin/zsh の各項目を確認しましょう。
- ユーザー名:
labex - パスワード:
x(別の場所に保存されています) - ユーザー ID(UID):
5000 - グループ ID(GID):
5000 - 情報:(空)
- ホームディレクトリ:
/home/labex - シェル:
/usr/bin/zsh
これらの項目は、コースの後半で扱うアイデンティティ、プライマリグループへの所属、ホームディレクトリ、ログイン後に起動するシェルと直接関係します。
root ユーザーを確認する(UID 0)
root ユーザーは、集合住宅の管理人に相当します。すべての場所に入るための鍵を持っています。
root のエントリを検索します。
grep "^root" /etc/passwd
出力:
root:x:0:0:root:/root:/bin/bash
UID(3 番目の項目)は 0 です。Linux では、UID 0 に無制限の権限が与えられます。
Linux の権限を説明するときに、名前だけでなく数値のアイデンティティも使うのはこのためです。名前は人間にとって便利ですが、システム内部では ID が非常に重視されます。
自分のユーザーを確認する
自分のエントリ(labex)を検索します。
grep "^labex" /etc/passwd
出力:
labex:x:5000:5000::/home/labex:/usr/bin/zsh
あなたの UID は 5000 です。
あなたの ホームディレクトリ は /home/labex です。
グループを確認する(id)
/etc/passwd には、プライマリグループのみが記録されています。すべての「アクセスパス」を確認するには、id を使います。
id
出力:
uid=5000(labex) gid=5000(labex) groups=5000(labex),27(sudo)...
これはあなたの ID カードです。
uid:現在のユーザーgid:プライマリグループgroups:所属しているすべてのグループ
あなたは sudo グループ(ID 27)に所属しています。これにより、root として操作できます。
グループへの所属は、Linux が共有リソースへのアクセスを管理する主要な方法の 1 つです。すべてのユーザーに対して個別に権限を付与するのではなく、ユーザーをグループに追加し、そのグループにルールを適用できます。
まとめ
この実験では、Linux システムの「ユーザー構成」を確認しました。次の内容を学びました。
- ユーザーは
/etc/passwdファイルで定義されています。 - UID 0 は、システム管理者(集合住宅の管理人)である
rootに割り当てられています。 - このシステムでは、UID 5000 があなたのユーザーアカウントに割り当てられています。
- グループは、共有リソースへのアクセスを管理します。
idコマンドを使うと、所属グループなど、あなたの完全なアイデンティティを確認できます。グループは、あなたが持つ「鍵」のようなものです。
これらのアイデンティティを理解することは重要です。Linux でのすべての権限、つまり誰がファイルを読み取れるか、誰がプログラムを実行できるかは、これらの ID に基づいて決まるためです。



