1.06.2基礎
対象のDebian系ホストではidコマンドが/usr/bin/idにあることを確認済みである。
利用者のPATHに同名ファイルがあっても、確認済みのidを実行する。
適切な記述はどれか。
× 不正解
確認済みの絶対パスでコマンドを指定するとPATH検索を避けられる。ただし配置差があるため対象環境を明示する。
詳細解説
誤り
idPATH検索により利用者環境の同名コマンドが先に選ばれ得る。
名前だけのidはPATH検索を行う。利用者が先頭に置いたディレクトリに同名ファイルがあれば、それが選ばれる可能性がある。
正しい
/usr/bin/id確認済みの絶対パスを直接指定し、PATH検索を行わない。
/usr/bin/idは確認済みの絶対パスを指定し、PATH検索を経由しない。問題で固定されたDebian系環境の要件に一致する。
誤り
./id現在ディレクトリのidを実行し、実行場所に依存する。
./idは現在ディレクトリのファイルを指す。スクリプトをどこから起動したかで対象が変わる。
誤り
$PATH/idPATHは複数ディレクトリを含む文字列で、単一パスとして連結できない。
PATHは/usr/local/bin:/usr/bin:/binのような一覧で、全体へ/idを付けても有効な1つのパスにはならない。
実際に確かめる
一時的な検証環境で実行できる例です。
test -x /usr/bin/id && /usr/bin/id -u期待される結果
現在利用者の数値UID理解のポイント
- 絶対パスはPATH非依存
- 配置を事前確認
- ./は現在ディレクトリ
確認時の注意
- 確認環境: Debian系Linux / /usr/bin/id / 読み取りのみ
- /usr/bin/idが存在することを確認するだけで、システム状態は変更しない。
基礎のおさらい
絶対パス
/から始まるパスは現在ディレクトリやPATHに関係なく同じ場所を指す。
移植性との交換
配置が異なる環境では絶対パスが失敗する。対象OSと配置を限定・検証して使う。
問題IDKL-102-938
確認環境Debian系Linux / /usr/bin/id / 読み取りのみ
最終技術確認2026-08-13
誤り・権利侵害を報告