はじめに
この実験では、Linux 環境においてユーザーアカウントを識別し、検証する方法を学習します。ユーザー識別の理解は、Linux システム管理とセキュリティにおける基本的な概念です。この実験で学習するコマンドは、システム管理者が現在システムにログインしているユーザーを特定し、そのユーザーが持つ権限を把握するために不可欠なツールです。
ユーザー識別は、システムセキュリティ、アクセス問題のトラブルシューティング、および適切なシステム構成の確保において重要です。これらの基本的なコマンドを習得することで、より高度な Linux 管理タスクの基礎となる貴重なスキルを身につけることができます。
whoami を使って現在のユーザーを識別する
最初に学ぶコマンドは whoami です。このコマンドは、現在ログインしているユーザーのユーザー名を表示します。このシンプルで強力なコマンドを使うと、現在使用しているユーザーアカウントを確認できます。
まずは、プロジェクトディレクトリにいることを確認しましょう。
cd ~/project
上記のコマンドは、現在のディレクトリを /home/labex/project に変更します。これはこの実験のデフォルトの作業ディレクトリです。
では、whoami コマンドを実行しましょう。
whoami
このコマンドを実行すると、以下のような出力が表示されます。
labex
この出力は、現在 labex ユーザーとしてログインしていることを示しています。この情報は、特に異なるユーザーアカウント間を切り替えた後や、権限の問題をトラブルシューティングする際に、現在のユーザーの身元を確認する必要があるときに役立ちます。
whoami コマンドは、実際には id -un コマンドの簡略版です。id -un コマンドは、ユーザーの身元情報のうちユーザー名の部分のみを表示します。
ユーザー情報をファイルに保存する
Linux では、コマンドの出力をファイルにリダイレクトして記録やさらなる処理を行うことができます。このステップでは、ユーザー名をログファイルに保存します。
まず、プロジェクトディレクトリに user_identification.log という名前の新しいファイルを作成しましょう。
touch ~/project/user_identification.log
touch コマンドは、ファイルが存在しない場合は新しい空のファイルを作成し、既存のファイルの場合は内容を変更せずにタイムスタンプを更新します。
次に、whoami コマンドの出力をこのファイルに追加しましょう。Linux では、>> 演算子を使ってファイルに内容を追加します。
whoami >> ~/project/user_identification.log
このコマンドは whoami を実行し、その出力を user_identification.log ファイルの末尾に追加します。ファイルに既に内容がある場合、新しい出力は既存の内容を上書きせずに新しい行に追加されます。
情報が正しくファイルに保存されたことを確認するために、ファイルの内容を確認しましょう。
cat ~/project/user_identification.log
以下のような出力が表示されるはずです。
labex
これにより、ユーザー名がログファイルに正常に保存されたことが確認できます。
id コマンドで詳細なユーザー情報を取得する
whoami はユーザー名のみを表示しますが、id コマンドは現在のユーザーに関するより包括的な情報を提供します。これには、ユーザー ID (UID)、グループ ID (GID)、およびユーザーが所属するすべてのグループが含まれます。
id コマンドを実行しましょう。
id
以下のような出力が表示されるはずです。
uid=1000(labex) gid=1000(labex) groups=1000(labex),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev)
この出力から次のことがわかります。
- あなたのユーザー ID (uid) は 1000 で、ユーザー名は labex です。
- あなたの主要グループ ID (gid) は 1000 で、グループ名は labex です。
- あなたはいくつかの補助グループに所属しています("groups=" の後にリストされています)。
この詳細情報もログファイルに保存しましょう。
id >> ~/project/user_identification.log
ログファイルの更新された内容を確認するには、再度 cat コマンドを使用します。
cat ~/project/user_identification.log
これで、ログファイルにユーザー名と詳細なユーザー情報の両方が表示されるはずです。
現在のユーザーのグループを検索する
Linux では、ユーザーは複数のグループに所属することができ、これらのグループはファイルやリソースへのアクセスを制御するのに役立ちます。あなたのユーザーアカウントに関連付けられたグループを表示する方法を見てみましょう。
groups コマンドは、現在のユーザーが所属するすべてのグループを表示します。
groups
以下のような出力が表示されるはずです。
labex adm dialout cdrom floppy sudo audio dip video plugdev netdev
最初にリストされているグループ (labex) はあなたの主要グループで、その他は追加の権限を提供する補助グループです。
では、このグループ情報をログファイルに追加しましょう。
echo "My groups are: $(groups)" >> ~/project/user_identification.log
上記のコマンドは、コマンド置換 $(groups) を使用して、groups コマンドの出力をログファイルに追加する文字列に含めています。
ログファイルの最終内容を確認しましょう。
cat ~/project/user_identification.log
これで、3 行の情報(ユーザー名、詳細な ID 情報、および所属グループ)が表示されるはずです。
このログファイルには、システム上のあなたのユーザー ID の包括的な記録が含まれており、システム管理、トラブルシューティング、またはドキュメント作成の目的に役立ちます。
まとめ
この実験では、ユーザー識別に関するいくつかの重要な Linux コマンドを学び、実践しました。
- 現在ログインしているユーザー名を表示する
whoamiコマンド - リダイレクト (
>>) を使用してコマンドの出力をファイルに保存する方法 catコマンドを使用してファイルの内容を表示する方法- 詳細なユーザーおよびグループ情報を提供する
idコマンド - ユーザーが所属するすべてのグループをリストする
groupsコマンド
これらのコマンドは、システム管理とセキュリティにおける基本的なツールです。これらを使用することで、誰がシステムを使用しているか、どのような権限を持っているか、どのリソースにアクセスできるかを特定することができます。
ユーザー識別を理解することは、以下の点で重要です。
- 権限の問題をトラブルシューティングする
- 適切なファイルおよびディレクトリの権限を設定する
- ユーザーアカウントを管理する
- システムのセキュリティを確保する
- システムアクセスを監査する
Linux の学習を続けるにつれて、これらのコマンドがより高度なシステム管理タスクの基本的な要素となることがわかるでしょう。



