1.08.1基礎
ローカルファイルに限定せず、現在のNSS設定に従ってユーザーapp01のpasswd情報を取得する。
適切なコマンドはどれか。
× 不正解
getent passwd USERはnsswitch.confのpasswd設定に従い、ローカルまたは外部情報源からユーザー情報を取得する。
詳細解説
誤り
grep '^app01:' /etc/passwdローカルファイルだけを直接検索する。
/etc/passwdを直接grepするため、LDAPなどNSSで構成された他の情報源を参照しない。
誤り
getent group app01groupデータベースから同名グループを検索する。
groupデータベースを選ぶため、app01というユーザーのpasswdレコードを取得しない。
正しい
getent passwd app01NSS設定に従ってpasswdデータベースからapp01を取得する。
getentでpasswdデータベースとキーapp01を指定し、NSSの設定順序に従って取得する。
誤り
id -g app01app01のプライマリGIDだけを表示する。
id -gは主GIDの数値だけを返し、passwd形式の全フィールドを表示しない。
実際に確かめる
一時的な検証環境で実行できる例です。
getent passwd $(id -un)期待される結果
現在ユーザーのpasswd形式のレコード理解のポイント
- getentはNSS経由
- passwd databaseを指定
- grepはlocal file限定
確認時の注意
- 確認環境: glibc getent / 現在ユーザーの読み取りのみ
基礎のおさらい
NSS
Name Service Switchはpasswd、group、hostsなどの情報源と参照順を定義する。
getent
ファイルを直接読むより、アプリケーションが利用する名前サービスに近い結果を確認できる。
問題IDKL-102-1035
確認環境glibc getent / 現在ユーザーの読み取りのみ
最終技術確認2026-08-13
誤り・権利侵害を報告