107.1基礎
ローカルファイルだけでなく、LDAP等を含むNSS設定に従ってaliceのpasswd情報を取得する。
適切なコマンドはどれか。
× 不正解
getent DATABASE KEYはNSSの設定に従ってデータベースを照会する。ローカルファイル以外のアカウント情報源も同じ方法で確認できる。
詳細解説
誤り
cat /etc/passwd | grep '^alice:'ローカルファイルだけを検索し、他のNSS情報源を参照しない。
誤り。/etc/passwdにあるローカル行だけを対象とし、nsswitch.confでLDAP等が有効でも結果へ含めない。
誤り
passwd alicealiceのpassword変更を開始するコマンドである。
誤り。passwdは認証情報の変更や状態管理を行い、NSSからユーザー属性を表示する読取コマンドではない。
誤り
getent group alicegroupデータベースからaliceというグループを探す。
誤り。getent自体はNSSを使うが、groupデータベースを選ぶためaliceというユーザーのpasswd属性を取得しない。
正しい
getent passwd aliceNSSに従いpasswdデータベースからaliceを検索する。
正しい。getent passwd aliceはnsswitch.confに従ってpasswd情報源を検索し、見つかったアカウント行を表示する。
実際に確かめる
一時的な検証環境で実行できる例です。
getent passwd "$(id -un)" | cut -d: -f1,3,6,7期待される結果
現在ユーザーの名前、UID、ホーム、shell理解のポイント
- getentはNSS経由
- passwdはユーザーDB
- KEYで1件検索
確認時の注意
- 確認環境: glibc getent / 読取のみ
基礎のおさらい
NSS
Name Service Switchはfiles、LDAP等の名前・アカウント情報源と検索順を/etc/nsswitch.confで統合する。
スクリプト利用
固定ファイルを直接grepするよりgetentを使うと、中央管理アカウントを含む環境へ適応しやすい。
問題IDKP-107-664
確認環境glibc getent / 読取のみ
最終技術確認2026-08-13
誤り・権利侵害を報告