Linux で特定のユーザーがホームディレクトリを持っているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、特定のユーザーが Linux でホームディレクトリを持っているかどうかを確認する方法を学びます。ホームディレクトリのパスを含むユーザー情報がどのように保存されているかを理解するために、/etc/passwd ファイルを調査します。

次に、ls コマンドを使用して、/home ディレクトリ内にホームディレクトリが存在することを確認し、パーミッションや所有者などの詳細を調べます。この実践的な演習により、Linux 環境でのユーザー管理に必要な実用的なスキルを身につけることができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/ls -.-> lab-558765{{"Linux で特定のユーザーがホームディレクトリを持っているかどうかを確認する方法"}} linux/cat -.-> lab-558765{{"Linux で特定のユーザーがホームディレクトリを持っているかどうかを確認する方法"}} end

/etc/passwd でユーザーのホームディレクトリを確認する

このステップでは、Linux がユーザーに関する情報、特にホームディレクトリに関する情報をどのように保存しているかを調べます。ホームディレクトリは、ユーザーの個人ファイルや設定が保存される場所です。

Linux は、ユーザーアカウント情報を /etc/passwd というファイルに保存しています。このファイルには、システム上の各ユーザーアカウントに対応する 1 行が含まれています。cat コマンドを使用して、このファイルの内容を表示しましょう。cat は、ファイルの内容を表示する単純なコマンドです。

ターミナルに以下のコマンドを入力し、Enter キーを押します。

cat /etc/passwd

大量の出力が表示され、各行がユーザーを表しています。出力をスクロールして(Shift + Page Up/Page Down またはマウスのスクロールホイールを使用できます)、labex: で始まる行を見つけます。

labex ユーザーの行は次のようになります。

labex:x:5000:5000:LabEx user,,,:/home/labex:/bin/zsh

この行の各フィールドはコロン (:) で区切られています。以下は、各フィールドの簡単な説明です(左から右へ)。

  1. ユーザー名: labex - ユーザーの名前です。
  2. パスワードプレースホルダー: x - これは、パスワードが暗号化され、セキュリティ上の理由から /etc/shadow に保存されていることを示します。
  3. ユーザー ID (UID): 5000 - ユーザーを識別する一意の番号です。
  4. グループ ID (GID): 5000 - ユーザーの主要なグループ ID です。
  5. コメント/GECOS フィールド: LabEx user,,, - ユーザーに関する一般的な情報(フルネームなど)が含まれています。
  6. ホームディレクトリ: /home/labex - これは、ユーザーのホームディレクトリへのパスです。
  7. ログインシェル: /bin/zsh - ユーザーがログインするときに起動するデフォルトのシェル(コマンドインタープリター)です。

このステップで最も重要なのは 6 番目のフィールドで、labex ユーザーのホームディレクトリが /home/labex であることがわかります。

/etc/passwd を理解することは、Linux でのユーザーとパーミッションの管理において基本的なことです。

続ける をクリックして次のステップに進みます。

ls /home でホームディレクトリを確認する

前のステップで、/etc/passwd ファイルによると labex ユーザーのホームディレクトリは /home/labex であることがわかりました。では、ls コマンドを使って、このディレクトリが実際に /home ディレクトリ内に存在することを確認しましょう。

ls コマンドは、ファイルやディレクトリを一覧表示するために使用されます。ls の後にディレクトリパスを指定すると、そのディレクトリの内容が一覧表示されます。

ターミナルに以下のコマンドを入力し、Enter キーを押します。

ls /home

このコマンドは、ls/home ディレクトリの内容を一覧表示するよう指示します。

以下のような出力が表示されるはずです。

labex

この出力は、/home ディレクトリ内に labex という名前のディレクトリが存在することを確認しています。これは、/etc/passwd ファイルで見つけたホームディレクトリのパスと一致しています。

/home ディレクトリは、Linux で一般ユーザーのホームディレクトリが作成される標準的な場所です。通常、各ユーザーは /home 内に自分のユーザー名を名前とするサブディレクトリを持っています。

ls を使うことは、Linux のファイルシステムを操作し理解するための基本的なスキルです。

続ける をクリックして次のステップに進みましょう。次のステップでは、/home/labex ディレクトリの詳細を見ていきます。

ls -ld でホームディレクトリの詳細を調べる

前のステップで、labex ユーザーのホームディレクトリが /home/labex であることを特定し、ls /home を使ってその存在を確認しました。では、/home/labex ディレクトリの内容ではなく、ディレクトリ自体に関する詳細情報を取得しましょう。

これを行うために、再び ls コマンドを使用しますが、2 つの重要なオプション -l-d を使います。

  • -l オプションは、ls に「長い一覧表示」形式で出力するよう指示します。これにより、ファイルやディレクトリに関する詳細情報、つまりパーミッション、所有者、サイズ、変更時刻などが提供されます。
  • -d オプションはここで重要です。ls -l と一緒に使用すると、ls にディレクトリ 自体 をファイルとして一覧表示するよう指示します。つまり、その内容を一覧表示するのではなくなります。-d を使わない場合、ls -l /home/labex/home/labex 内のファイルやディレクトリ の詳細情報を一覧表示します。

これらのオプションとホームディレクトリのパスを組み合わせます。ターミナルに以下のコマンドを入力し、Enter キーを押します。

ls -ld /home/labex

/home/labex ディレクトリに関する詳細を提供する 1 行の出力が表示されます。これは次のようになります。

drwxr-xr-x 2 labex labex 4096 <Date> <Time> /home/labex

この出力を分解してみましょう。

  • d: 最初の文字はファイルの種類を示します。d はディレクトリであることを意味します。
  • rwxr-xr-x: これらはファイルのパーミッションです。誰がディレクトリを読み取り、書き込み、実行(またはディレクトリの場合はアクセス)できるかを指定します。
  • 2: ディレクトリへのハードリンクの数です。
  • labex: ディレクトリの所有者です。
  • labex: ディレクトリを所有するグループです。
  • 4096: ディレクトリのサイズ(バイト単位)です。
  • <Date> <Time>: 最後の変更日時です。
  • /home/labex: ディレクトリの名前です。

このコマンドにより、/home/labex が確かにディレクトリ (d) であることが確認され、その所有者 (labex ユーザーと labex グループ) が表示されます。これはユーザーのホームディレクトリに典型的なものです。

ls -ld を使用することは、特定のファイルやディレクトリの種類、パーミッション、所有者をすぐに確認するための非常に一般的な方法です。

これで、基本的な Linux コマンドを使用してホームディレクトリを正常に特定し、その詳細を調べることができました。

続ける をクリックして、この実験を完了しましょう。

まとめ

この実験では、Linux で特定のユーザーがホームディレクトリを持っているかどうかを確認する方法を学びました。まず、cat コマンドを使用して /etc/passwd ファイルを調べました。このファイルには重要なユーザー情報が含まれており、6 番目のフィールドがユーザーのホームディレクトリの場所であることを特定しました。

/etc/passwd の調査に続いて、ls コマンドを使用して /home ディレクトリの内容を一覧表示することで、ホームディレクトリの存在を確認しました。最後に、ls -ld を使用して特定のユーザーのホームディレクトリに関する詳細情報を取得し、その存在とパーミッションを確認しました。