Linux

【Linux】ユーザーを一覧で表示させる方法は?/etc/passwdファイルの中身を見てみよう

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、ユーザーを一覧で表示させる方法を解説します。「どのくらいユーザーが登録されているのか分からない」「どんなユーザー名が設定されているのか知りたい」とお悩みの方のために、ユーザー情報を一覧で表示させる方法をご紹介します。ユーザー情報は、/etc/passwdファイルに格納されているので、このファイルを見ることで確認できます。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

Linuxのユーザーを一覧で表示させる方法は?

Linuxのユーザーを一覧で表示させる方法は、以下の2つがあります。

  • cat /etc/passwd
  • getent passwd

それぞれについて解説します。

cat /etc/passwdで確認する

Linuxのユーザーを一覧で表示させるためには、/etc/passwdファイルの中身を確認しましょう。確認させるためには、以下のコマンドを入力します。

cat /etc/passwd

コマンドを入力すると、このように表示されます。

ユーザー情報の一覧

getent passwdで確認する

もう一つの方法は、getentコマンドを使用する方法です。getentコマンドとは、データベース(通常は /etc/passwd など)から情報を取得するための汎用ユーティリティです。

ユーザー情報を取得するために使用できます。以下のように実行します。

getent passwd

コマンドを実行すると、/etc/passwdファイル同様にユーザーの一覧が出力されます。

getent passwdでユーザー一覧を表示する

このように、ユーザーの情報が一覧で表示されます。

/etc/passwdとは?

/etc/passwdファイルとは、Unix系オペレーティングシステムにおける基本的なユーザーアカウント情報を格納するファイルです。

ユーザー名、ユーザーID、グループID、ホームディレクトリのパス、およびログインシェルなどの情報を含みます。しかし、セキュリティ上のリスクを低減するため、実際のパスワードは別のファイルに保存されることが一般的です。

/etc/passwdファイルは、システム全体のユーザー管理とプロセス実行に関連し、ユーザーアカウントの一覧や基本情報を提供します。セキュリティ上の懸念から、直接的なパスワード情報は /etc/shadowファイルに保存され、一般ユーザーのアクセスを制限しています。/etc/passwdファイルを閲覧する際は、管理者で閲覧しましょう。

/etc/passwdはどのような情報が格納されているのか?

先ほどは、/etc/passwdの中身を表示させる方法を説明しました。では、その中身はどのような情報が格納されているのでしょうか?詳しく解説します。

/etc/passwdファイルは、ユーザーの情報が一行ずつ格納されています。一行目は、以下のようになっています。

root:x:0:0:root:/root:/bin/bash

それぞれの値は、以下のような意味をもっています。

[ユーザー名]:[パスワード]:[ユーザーID]:[グループID]:[本名]:[ホームディレクトリ]:[ログインシェル]

今回のrootユーザーに当てはめてみると、

ユーザー名root
パスワードx(暗号化されてx)
ユーザーID0
グループID0
本名root
ホームディレクトリ/root
ログインシェル/bin/bash

このような各ユーザーの情報が/etc/passwdファイルに格納されています。

ユーザー名だけ一覧で出す方法

/etc/passwdファイルを閲覧すると、ユーザー一覧を見ることができます。しかし、ユーザー名以外の情報も表示されてしまいます。

では、どうすればユーザー名だけを一覧で表示出るのでしょうか?cutコマンドもしくはawkコマンドを使うとユーザー名だけ抜き出すことができます。

cutコマンドでユーザー名だけ抜き出す

cutコマンドを使用して/etc/passwd ファイルから必要な情報を抽出し、sort コマンドで並び替えることでユーザー一覧を整形して表示できます。

以下のように実行します。

cut -d: -f1 /etc/passwd | sort

コマンドを実行すると、以下のように表示されます。

awkコマンドでユーザー名だけ抜き出す

awkコマンドを使用して /etc/passwd ファイルからユーザー名だけを取得することができます。

以下のように実行します。

awk -F: '{print $1}' /etc/passwd

コマンドを実行すると、以下のように表示されます。

このように、cutやawkコマンドを利用することで、ユーザー名だけを一覧にして表示することができます。

ユーザーの一覧情報を確認する方法まとめ

今回の記事では、Linuxでユーザーの一覧情報を確認する方法を解説しました。

ユーザーの情報を一覧で確認するときは、/etc/passwdを見ると覚えておきましょう。

さらにLinuxを学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。

「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」

そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!

入門から中級まで初心者でもわかりやすく学習を進めることができます。

↓InfraAcademyの講座の一部です。

上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。

インフラエンジニアに必要な知識が学習できます。

InfraAcademyで学習を始める

参考:Linuxのコマンド練習用サイトのInfraAcademyを作成しました。【Linuxのコマンドをブラウザで練習しよう】

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST