はじめに
Linux オペレーティングシステムは、ユーザーおよびグループ識別子に基づいた堅牢なパーミッションシステムを使用しています。これらの識別子を表示および解釈する方法を理解することは、システム管理およびセキュリティ管理の基本です。この実験(Lab)では、Linux でユーザーおよびグループ情報を表示するための強力なユーティリティである id コマンドの習得に焦点を当てます。
id コマンドの使用方法を学ぶことで、システム内で自分が誰であるか、自分がどのグループに所属しているか、他のユーザーのパーミッションをどのように確認するかを識別できるようになります。これらのスキルは、より高度な Linux セキュリティの概念とパーミッション管理の基礎となります。
ユーザーID の表示
Linux では、すべてのユーザーは一意のユーザー識別子(UID)を持ち、少なくとも 1 つのグループ識別子(GID)を持つグループに所属しています。このステップでは、自分のユーザーID 情報を表示する方法を学びます。
まず、ターミナルを開き、プロジェクトディレクトリにいることを確認してください。
cd ~/project
次に、引数なしで id コマンドを使用して、自分のユーザーID 情報を表示します。
id
このコマンドは、現在のユーザーID(UID)、プライマリグループ ID(GID)、および所属する追加のグループを表示します。出力は次のようになります。
uid=5000(labex) gid=5000(labex) groups=5000(labex),27(sudo),121(ssl-cert),5002(public)
この出力を詳しく見てみましょう。
uid=5000(labex)- これは、ユーザーID(5000)とユーザー名(labex)を示しています。gid=5000(labex)- これは、プライマリグループ ID(5000)とグループ名(labex)を示しています。groups=5000(labex),27(sudo),121(ssl-cert),5002(public)- これは、所属するすべてのグループを、ID と名前を含めてリストしています。
ユーザーID とグループ ID は、Linux システムが内部的にパーミッションを追跡するために使用する数値です。括弧内の名前は、これらの数値 ID に対応する人間が読める形式です。
別のユーザーの ID を確認する
Linux では、システム管理者は他のユーザーの ID とグループメンバーシップを確認する必要があることがよくあります。このステップでは、別のユーザーの ID 情報を表示する方法を学びます。
セットアップスクリプトは、この演習のために npc という名前の別のユーザーを作成しました。ユーザー名を id コマンドの引数として指定することで、このユーザーの ID 情報を表示できます。
id npc
出力は次のようになります。
uid=5001(npc) gid=5001(npc) groups=5001(npc)
これは、ユーザー npc が以下を持つことを示しています。
- ユーザーID(UID):5001
- プライマリグループ ID(GID):5001
- グループメンバーシップ:プライマリグループ
npcのみ
このユーザーは、あなたのアカウントよりも少ないグループに所属していることに注意してください。Linux では、一般ユーザーは、管理ユーザーと比較して、グループメンバーシップが制限されていることがよくあります。ユーザーが所属するグループの数は、アクセスできるファイルやシステム上で実行できる操作に直接影響します。
ID コマンドのオプションを使用する
id コマンドには、ユーザーID 情報の特定の部分を表示できる便利なオプションがいくつか用意されています。このステップでは、これらのオプションについて説明します。
ユーザーID のみを表示する
他の情報なしでユーザーID(UID)のみを表示するには、-u オプションを使用します。
id -u
出力は、次のような数値のみになります。
5000
これは、フォーマットや追加情報のない数値のユーザーID です。
プライマリグループ ID のみを表示する
同様に、プライマリグループ ID(GID)のみを表示するには、-g オプションを使用します。
id -g
出力は、プライマリグループ ID を表す数値になります。
5000
数値の代わりに名前を表示する
上記のオプションを -n オプションと組み合わせることで、数値 ID の代わりに名前を表示できます。
id -un
これにより、ユーザー名が出力されます。
labex
同様に、プライマリグループ名を表示するには:
id -gn
出力:
labex
これらのオプションは、特定の ID 情報をプログラムでキャプチャして使用する必要があるシェルスクリプトで特に役立ちます。
グループメンバーシップの調査
Linux では、ユーザーのアクセス権はグループメンバーシップによって決定されることがよくあります。このステップでは、グループメンバーシップを表示し、より詳細に理解する方法を学びます。
所属するすべてのグループをリストする
groups コマンドを使用すると、ユーザーが所属するすべてのグループを表示できます。
groups
出力はグループ名のリストになります。
labex sudo ssl-cert public
これは、ID なしでグループ名のみを表示するため、id コマンドよりもシンプルな表示です。
ID 付きでグループ情報のみを表示する
または、-G オプションを指定して id コマンドを使用すると、すべてのグループ ID を表示できます。
id -G
出力:
5000 27 121 5002
そして、-Gn オプションを指定して、すべてのグループ名を表示します。
id -Gn
出力:
labex sudo ssl-cert public
別のユーザーのグループメンバーシップを確認する
別のユーザーがどのグループに所属しているかを確認することもできます。
groups npc
出力:
npc : npc
または、id コマンドを使用します。
id -Gn npc
出力:
npc
グループメンバーシップを理解することは、ファイルアクセス許可やその他のシステム権限を決定するため、Linux システム管理にとって非常に重要です。
まとめ
この実験(Lab)では、id コマンドと関連ユーティリティを使用して、Linux でのユーザーおよびグループ情報を表示および解釈する方法を学びました。これで、次の方法がわかりました。
idコマンドを使用して、自分自身のユーザーおよびグループ情報を表示する- 他のユーザーの ID 情報を確認する
idコマンドでさまざまなオプションを使用して、ID 情報の特定の部分を表示するidコマンドとgroupsコマンドの両方を使用して、グループメンバーシップを調査する
これらのスキルは、Linux ユーザー管理と権限を理解するための重要な基盤となります。Linux の学習を進めるにつれて、これらのコマンドは、権限の問題のトラブルシューティング、ファイルアクセスの構成、およびユーザーアカウントの管理に非常に役立つことがわかるでしょう。



