Linux で現在のユーザー ID を確認する方法

LinuxBeginner
オンラインで実践に進む

はじめに

このチュートリアルでは、Linux オペレーティングシステムにおける User ID (UID) について包括的に理解を深めます。現在のユーザーの UID を特定する方法、ユーザー権限を管理する方法、およびアクセス権を制御する方法を学び、効果的なシステム管理と強化されたセキュリティを確保します。

Linux における User ID の理解

Linux オペレーティングシステムでは、すべてのユーザーは User ID (UID) と呼ばれる一意の識別番号に関連付けられています。この UID は、ユーザー管理とアクセス制御の重要な側面であり、システムが異なるユーザーを識別および区別できるようにします。

User ID (UID) とは?

User ID (UID) は、Linux システム上の各ユーザーアカウントに割り当てられた数値識別子です。UID は、オペレーティングシステムがユーザー権限、ファイルの所有権、およびその他のセキュリティ関連情報を追跡するために使用されます。UID の範囲は通常 0 から 65535 で、0 は root ユーザー用に予約されており、残りの UID は通常のユーザーアカウントに割り当てられます。

UID の範囲の理解

Linux の UID 範囲は、通常、次のカテゴリに分類されます。

  • Root ユーザー (UID 0): root ユーザーは、スーパーユーザーとも呼ばれ、システム全体に対する最高レベルの権限とアクセス権を持っています。
  • システムユーザー (UID 1-999): これらは、Apache、MySQL、SSH などのさまざまなサービスやプロセスでシステムによって使用される特別なユーザーアカウントです。
  • 通常のユーザー (UID 1000 以上): これらは、個々のユーザー用に作成されたユーザーアカウントであり、さまざまなレベルの権限とアクセス権を持っています。

現在のユーザーの UID の特定

ターミナルで id コマンドを使用すると、現在のユーザーの UID を簡単に特定できます。ターミナルを開き、次のコマンドを実行します。

id -u

次のような出力が表示され、現在のユーザーの UID が表示されます。

5000

現在のユーザーの UID を識別する図

このコマンドは、現在のユーザーの UID を表示します。この例では 5000 です。

Linux における User ID の概念を理解することで、ユーザーアカウントを効果的に管理し、アクセスを制御し、システムのセキュリティを確保できます。

現在のユーザーの特定

Linux システムでユーザー権限とアクセス制御を管理するには、現在のユーザーの ID を知ることが不可欠です。現在のユーザーを特定する方法はいくつかあり、それぞれに独自のユースケースがあります。

whoami コマンドの使用

現在のユーザーを特定する最も簡単な方法は、ターミナルで whoami コマンドを使用することです。次のコマンドを実行します。

whoami

次のような出力が表示され、現在のユーザー名が表示されます。

labex

このコマンドは、現在のユーザーのユーザー名を表示します。この例では "labex" です。

id コマンドの使用

現在のユーザーを特定する別の方法は、id コマンドを使用することです。このコマンドは、ユーザーの UID、プライマリグループ ID (GID)、およびユーザーの補助グループのリストなど、ユーザーに関するより詳細な情報を提供します。次のコマンドを実行します。

id

次のような出力が表示されます。

uid=5000(labex) gid=5000(labex) groups=5000(labex),...

id コマンドの出力は、現在のユーザーの UID が 5000、プライマリ GID が 5000 であり、いくつかの補助グループのメンバーであることを示しています。

$USER 環境変数へのアクセス

$USER 環境変数を介して、現在のユーザーのユーザー名にアクセスすることもできます。この変数はシェルによって自動的に設定され、現在のユーザーのユーザー名が含まれています。次のコマンドを実行します。

echo $USER

次のような出力が表示されます。

labex

これらのコマンドを使用することで、現在のユーザーを簡単に特定し、ユーザーアカウントに関する情報を収集できます。これは、Linux システムでユーザー権限とアクセス制御を管理するために不可欠です。

現在のユーザーを識別する図

ユーザー権限とアクセス制御の管理

Linux では、システムのセキュリティを維持し、ユーザーが許可されたアクションのみを実行できるようにするために、ユーザー権限とアクセス制御が重要です。User ID (UID) は、ユーザーに付与されるアクセスレベルと権限を決定するために使用されるため、このプロセスで中心的な役割を果たします。

ユーザー権限の理解

Linux は、読み取り、書き込み、および実行の 3 つの主要なカテゴリに基づく権限システムを使用します。これらの権限は、ファイル、ディレクトリ、およびその他のシステムリソースに適用できます。権限は、所有者、グループ、およびその他のエンティティに割り当てられます。

ファイルまたはディレクトリの権限を表示するには、ls -l コマンドを使用できます。まず、簡単なファイルを作成しましょう。次のコマンドを実行します。

touch example.txt
ls -l example.txt

次のような出力が表示されます。

-rw-rw-r-- 1 labex labex 0 ... example.txt

この例では、ファイル "example.txt" はユーザー "labex" とグループ "labex" が所有しており、権限は所有者に対して読み取りと書き込み、グループに対して読み取りと書き込み、その他に対して読み取り専用に設定されています。

ユーザー権限の変更

chmod コマンドを使用して、ファイルまたはディレクトリの権限を変更できます。たとえば、"example.txt" ファイルを所有者に対して実行可能にするには、次のコマンドを実行します。

chmod u+x example.txt
ls -l example.txt

次のような出力が表示され、所有者に対して実行権限が追加されます。

-rwxrwxr-- 1 labex labex 0 ... example.txt

これにより、ファイルの所有者 (ユーザー) に対して実行権限が追加されます。

グループを使用したアクセス制御の管理

個々のユーザー権限に加えて、Linux はグループを使用してアクセス制御を管理します。ユーザーは 1 つ以上のグループに割り当てることができ、権限はグループ全体に付与できます。

現在のユーザーが属するグループを確認するには、groups コマンドを使用します。

groups

次のような出力が表示され、ユーザーがメンバーであるグループが一覧表示されます。

labex sudo ssl-cert public

ユーザー権限とアクセス制御を理解し、管理することで、Linux システムが安全であり、ユーザーが許可されたアクションのみを実行できるようにすることができます。

ユーザー権限とアクセス制御の管理の図

まとめ

この実験(Lab)では、Linux における User ID (UID) と、それがユーザー管理とアクセス制御にどのように使用されるかについて学びました。idwhoami$USER 環境変数などのさまざまなコマンドを使用して、現在のユーザーの UID とユーザー名を特定する練習をしました。また、ls -l を使用して基本的なファイル権限を調べ、chmod でそれらを変更する方法を学びました。最後に、グループがアクセス制御にどのように使用されるか、および groups コマンドを使用してユーザーが属するグループを表示する方法を確認しました。この知識は、システム管理者、開発者、および Linux ベースの環境で作業するすべての人にとって非常に重要です。