1.07.4基礎
/etc/hostsに登録した別名app01が、現在のNSS設定でどのアドレスへ解決されるか確認する。
ファイルを直接grepせず、名前解決結果として確認する。
適切なコマンドはどれか。
× 不正解
getent hosts NAMEはnsswitch.confのhosts行に従い、filesやdnsなどの情報源から名前解決結果を取得する。
詳細解説
正しい
getent hosts app01NSSのhostsデータベースを通じてapp01を検索する。
hostsデータベースへapp01を渡し、nsswitch.confの順序に従った解決結果を表示する。
誤り
getent passwd app01ユーザーアカウントデータベースを検索する。
passwdはユーザー名app01のアカウントレコードを探す。ホスト別名のIPアドレスは得られない。
誤り
getent services app01サービス名とポートのデータベースを検索する。
servicesはapp01というサービス名に対応するポートとプロトコルを探す。ホスト名解決とは別である。
誤り
getent networks app01ネットワーク名データベースを検索し、ホスト別名とは異なる。
networksはネットワーク名のデータベースを調べる。個別ホストの別名を解決するhostsとは異なる。
実際に確かめる
一時的な検証環境で実行できる例です。
getent hosts localhost期待される結果
localhostに対応するIPv4またはIPv6アドレスと名前理解のポイント
- hostsデータベース
- NSS順序を反映
- grepより実際の解決動作に近い
確認時の注意
- 確認環境: glibc getent / ローカル名前解決のみ
基礎のおさらい
getentの利点
ファイルを直接読むのではなく、アプリケーションに近いNSS経由の結果を確認できる。
情報源の切り分け
getent結果とdig結果が異なる場合、/etc/hostsやNSS順序、キャッシュなどDNS以外の要素を調べる。
問題IDKL-102-1011
確認環境glibc getent / ローカル名前解決のみ
最終技術確認2026-08-13
誤り・権利侵害を報告