110.1標準
/usr配下の通常fileから、owner execute位置にSUID bitが設定されたものを一覧する。
permission denied messageは表示しない。
適切なコマンドはどれか。
× 不正解
findの-perm -4000はSUID bitが少なくとも設定されたfileを探す。先頭hyphenのない4000はmode全体の完全一致になる。
詳細解説
正しい
find /usr -type f -perm -4000 2>/dev/null通常fileかつSUID bitを含むpathを検索し、標準errorを捨てる。
正しい。通常fileへ限定し、SUIDの4000 bitが含まれるfileを検索してpermission errorだけを抑える。
誤り
find /usr -type d -perm -4000 2>/dev/nulldirectoryだけを対象にする。
誤り。-type dはdirectoryへ限定するため、監査対象のSUID executable fileを漏らす。
誤り
find /usr -type f -perm -2000 2>/dev/nullSGID bitを含むfileを検索する。
誤り。2000はSGID bitであり、owner権限で実行するSUIDの監査ではない。
誤り
find /usr -type f -perm 4000 2>/dev/nullmode全体が厳密に4000のfileだけを対象にし、通常のexecute/read bit付きSUID fileを漏らす。
誤り。完全一致4000では4755等の通常的なSUID executableが一致せず、監査結果を漏らす。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' '-type f=regular files' '-perm -4000=SUID bit present' '2>/dev/null=discard diagnostics'期待される結果
-type f=regular files
-perm -4000=SUID bit present
2>/dev/null=discard diagnostics理解のポイント
- SUIDはoctal 4000
- -perm -MODEは全bitを含む
- 通常fileへ限定
確認時の注意
- 確認環境: GNU findutilsの構文対応表(filesystem走査なし)
- 実filesystem全体の走査は行わない。
基礎のおさらい
SUID effect
SUID executableは実行時effective UIDをfile ownerへ変えられるため、不要なものや改変を重点監査する。
定期比較
単発一覧だけでなくpackage verificationやbaselineとの差分で新規・変更fileを追跡する。
問題IDKP-110-845
確認環境GNU findutilsの構文対応表(filesystem走査なし)
最終技術確認2026-08-13
誤り・権利侵害を報告