

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
getent とは?基本をざっくり解説
getent は UNIX 系のシステムで使われるコマンドです。OS が持つデータベースへのアクセスをまとめて行える便利な道具です。具体的には、ユーザー情報、グループ情報、ホスト名、サービス名など、いくつものデータベースをまとめて参照できます。この点が getent の大きな特徴です。データはファイルだけでなくネットワーク上の認証サービスや設定ファイルからも取得されることがあり、getent はそれらを統合的に扱える窓口の役割を担います。
使い方の基本
使い方の基本はとてもシンプルです。コマンドの形は getent <データベース> <キー> ですが、データベースだけを指定して実行すれば、そのデータベースに登録されている全項目を表示します。よく使われるデータベースとしては passwd や group などがあります。初めての人はデータベース名を覚えることから始めましょう。
よく使うデータベースと実例
getent が参照できるデータベースは複数あります。以下の表は代表的なものと簡単な説明をまとめたものです。表の各行を読むだけで、どのデータを取得できるのかが分かります。
| データベース | 説明 | 実例 |
|---|---|---|
| passwd | システム上のユーザー情報を取得します | getent passwd |
| group | グループ情報を取得します | getent group staff |
| hosts | ホスト名と IP アドレスの対応を取得します | getent hosts example.com |
| services | サービス名とポートの対応を取得します | getent services http |
| protocols | ネットワークプロトコルの一覧を取得します | getent protocols tcp |
| networks | ネットワークのデータベースを取得します | getent networks home |
| aliases | メールエイリアス情報を取得します | getent aliases root |
| ethers | ETHERNET 物理アドレスの対応を取得します | getent ethers 00:11:22:33:44:55 |
| netgroup | ネットワークグループ情報を取得します | getent netgroup mygroup |
実践的な使い方の例と出力の読み方
実際の使用例としては以下のような形になります。データベース名を指定して実行するだけで、該当データの一覧が表示されます。出力は行ごとに1件ずつ表示され、各項目はコロンで区切られています。例えば passwd の場合は ユーザー名:パスワードのプレースホルダ:UID:GID:コメント:ホームディレクトリ:ログインシェル の形で並びます。出力を読むときのコツは、最初のフィールドがユーザー名である点と、UID で権限の目安を把握できる点です。
よくある使い方の流れは次の通りです。まずは getent passwd で自分のアカウントがどう登録されているかを確認します。次に getent hosts <任意のドメイン名> で名前解決が正しく動いているかをテストします。場合によっては NSS 設定や LDAP などの外部データベースと連携している環境もあります。その場合は出力に複数の情報源からのデータが混ざって表示されることがありますので、どのデータ源を参照しているのかを把握しておくと良いでしょう。
出力を読み解くときのポイント
出力は環境によって多少異なることがありますが、基本的な考え方は同じです。重要なのは、各行が1つのエントリを表しており、列ごとに意味が割り当てられている点です。ユーザーの情報を取得したい場合は passwd を、ホスト名の解決を確認したい場合は hosts を使います。もし出力が空の場合は、NSS の設定を見直す必要があります。なお、コマンドを実行する権限により表示される情報が制限されることはほとんどないため、基本的には誰でもコマンドを試すことができますが、セキュリティ上の理由で出力を安易に共有しないようにしましょう。
注意点とヒント
- 注意点
- getent は NSS 設定に従って動作します。ローカルの /etc/nsswitch.conf だけでなく LDAP などの外部サービスを参照することもあります。
- 出力の解釈はデータベースごとに異なるため、データベースの意味を事前に理解しておくと便利です。
- 権限の問題で特定のデータが見られない場合はシステム管理者に確認してください。
この記事を通じて、getent の基本的な使い方とよく使われるデータベースの役割、実務での活用方法が分かるようになればと思います。慣れるまでは簡単なデータベースから試していき、段階的に応用していくと良いでしょう。
getentの同意語
- NSSデータベース参照コマンド
- getent は Linux 系 OS で NSS(Name Service Switch)データベースからエントリを取得するためのコマンドです。NSSデータベース参照コマンドは、同様に NSS データベースを参照してエントリを取得する機能を指す一般的な表現です。
- エントリ取得ツール
- NSSデータベースのエントリ(ユーザー・グループ・ホスト・サービスなど)を取得する機能を指す総称で、getent の代替的・説明的な言い換えとして使われます。
- 名前解決データベース参照
- 名前解決に関わるデータベース(例: hosts)を参照して情報を取得する行為を指す表現。getent の用途を説明する言い換えとして用いられます。
- NSSデータベース検索
- Name Service Switch が管理するデータベースのエントリを検索・取得する操作を指す語です。
- データベースエントリ取得手段
- NSSが管理する複数データベースのエントリを取り出す手段全般を表す表現で、getent に対応する概念的同義語です。
- ホスト情報参照コマンド
- hosts データベースのエントリを参照するコマンドという意味の言い換え表現です。
- ユーザー情報参照コマンド
- passwd データベースのエントリを取得・参照するコマンドという意味合いの表現です。
- グループ情報参照コマンド
- group データベースのエントリを取得・参照するコマンドという意味合いの表現です。
- サービス情報取得コマンド
- services データベースのエントリを取得するコマンドという意味の言い換えです。
- 統合データベース参照手段
- NSS が管理する複数データベースを統合的に参照する手段を指す表現で、getent の機能範囲を広く捉えた言い換えです。
getentの対義語・反対語
- setent
- getent の対義語として考えられる語。意味は「エントリを設定・追加すること」。NSSデータベースへ新しいエントリを登録したり、既存エントリを上書きする操作のイメージです。
- addent
- エントリを新規に追加する操作。データベースへ新しいレコードを登録する行為を指します。
- delent
- エントリを削除する操作。データベースから不要なエントリを消す行為を指します。
- updateent
- エントリを更新する操作。既存のエントリの情報を変更する行為を表します。
- clearent
- エントリ情報をクリアする操作。取得したエントリを表示しないようリセットする意味合いです。
getentの共起語
- NSS
- Name Service Switch の略。Linux/UNIX の名前解決や NSS データベース参照の仕組みで、getent は NSS を介して複数のデータベースからエントリを取得します。
- nsswitch.conf
- NSS の設定ファイル。/etc/nsswitch.conf で、passwd などのデータベースをどのソースから、どの順序で参照するかを定義します。
- files
- ローカルファイルを参照元とするデータベースの総称。/etc/passwd、/etc/group、/etc/hosts などを含み、NSS の第一ソースとして使われることが多いです。
- passwd
- ユーザーアカウント情報を格納するデータベース。ユーザー名、UID、GID、ホームディレクトリ、シェルなどを含み、getent passwd で参照します。
- shadow
- パスワードのハッシュと有効期限・ロック状態などの aging 情報を含むデータベース。/etc/shadow に格納され、getent shadow で取得できます。
- group
- グループ情報を格納するデータベース。グループ名、GID、メンバーを含み、getent group で参照します。
- hosts
- ホスト名と IP アドレスの対応を管理するデータベース。/etc/hosts や DNS などからの参照を統合します。
- services
- ネットワークサービスと対応するポート番号の一覧。/etc/services に定義され、getent services で取得します。
- protocols
- ネットワークプロトコルとその番号の対応を格納。/etc/protocols に定義され、getent protocols で参照します。
- networks
- ネットワーク名と識別子の対応を格納。/etc/networks を参照します。
- ethers
- Ethernet アドレス(MAC アドレス)とホスト名の対応を格納。/etc/ethers などで使用されます。
- netgroup
- ネットワークグループの定義を格納。NIS/NIS+、LDAP などで使用され、getent netgroup で参照できます。
- aliases
- メールのエイリアス定義を格納。/etc/aliases を中心に、メール配送のルールを定義します。
- LDAP
- LDAP をバックエンドとして NSS へ提供するデータベース。ユーザー・グループ・ホスト情報を LDAP から取得します。
- dns
- DNS(Domain Name System)を参照源として利用します。nsswitch.conf で dns を指定して、名前解決を DNS に委ねます。
- nis
- NIS(Network Information Service)をバックエンドとして使用します。
- nisplus
- NIS+ をバックエンドとして使用します。
- sss
- SSSD(System Security Services Daemon)をバックエンドとして使用します。
getentの関連用語
- Name Service Switch (NSS)
- Unix 系統で、ユーザー名・ホスト名・サービス名などの情報を取得する際のデータソースと参照順を統制する仕組み。getent は NSS を経由して情報を取得します。
- nsswitch.conf
- NSS のデータベース名とソースの優先順を定義する設定ファイル。例: passwd: files ldap など。
- files
- NSS のデータソースの一つ。/etc/passwd、/etc/shadow、/etc/group、/etc/hosts などのローカルファイルを参照します。
- passwd
- ユーザーアカウント情報を格納するデータベース。ユーザー名、UID、GID、ホームディレクトリなどを管理。LDAP やファイルなど複数ソースを横断して参照します。
- shadow
- パスワード情報のデータベース。ハッシュ化されたパスワードや有効期限、ロック状態などを管理。
- group
- グループ情報のデータベース。グループ名、GID、メンバーなどを管理。
- hosts
- ホスト名と IP アドレスの対応を格納するデータベース。DNS の結果や /etc/hosts の情報を組み合わせて解決します。
- services
- ネットワーク上のサービス名とポート番号の対応を管理。
- protocols
- ネットワークプロトコル名と番号の対応を管理。
- networks
- ネットワーク番号と名前の対応を管理。
- aliases
- メールのエイリアス情報を管理。メール転送先などを定義する。
- ethers
- Ethernet アドレス(MAC アドレス)とホスト名の対応を管理。主に古いネットワーク設定で使われることがあります。
- nis
- Network Information Service。NIS サーバーを通じて一貫したユーザー・グループ情報を提供する NSS のソース。
- ldap
- LDAP(Lightweight Directory Access Protocol)サーバーをデータソースとして利用する NSS のソース。ディレクトリ型の情報を参照するのに使います。
- sssd
- System Security Services Daemon。SSSD はLDAP/AD/Kerberos などの認証情報を NSS 経由で統合して提供するデーモン。



















