107.2標準
管理者が/etc/cron.d/app-maintenanceへジョブを置く。
実行ユーザーをappuserとしてファイル内に明示する。
適切な行はどれか。
× 不正解
/etc/cron.d配下は/etc/crontabと同じsystem形式で、時刻5欄の直後に実行ユーザー、その後にコマンドを書く。
詳細解説
誤り
0 3 * * * /usr/local/bin/maintain appusersystem形式ではユーザーはコマンドより前に置く。
誤り。/usr/local/bin/maintainがuser欄へ入り、appuserがcommand引数のように扱われる不正な並びになる。
正しい
0 3 * * * appuser /usr/local/bin/maintain5時刻欄、ユーザー、コマンドの順である。
正しい。5時刻欄の後にappuser、続けて実行する絶対パスcommandを書いている。
誤り
appuser 0 3 * * * /usr/local/bin/maintainユーザーを時刻欄より前へ置いている。
誤り。system crontabでも行頭5欄は時刻で、実行ユーザーを先頭へ移動できない。
誤り
0 3 appuser * * * /usr/local/bin/maintainユーザーを日フィールド位置へ入れている。
誤り。第3欄は月の日の数値や*を必要とし、appuserを置く位置ではない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s\n' '0 3 * * * appuser /usr/local/bin/maintain' | awk '{print "user="$6, "command="$7}'期待される結果
user=appuser command=/usr/local/bin/maintain理解のポイント
- /etc/cron.dはsystem形式
- 第6欄がユーザー
- その後がコマンド
確認時の注意
- 確認環境: awk / 合成cron.d行
基礎のおさらい
ファイル所有権
/etc/cron.dの設定はroot所有かつ一般ユーザー書込不可にし、管理ジョブの改ざんを防ぐ。
ファイル名
run-parts互換の制約等により、ファイル名にドットを含むと読み飛ばす実装があるため対象cronの規則を確認する。
問題IDKP-107-690
確認環境awk / 合成cron.d行
最終技術確認2026-08-13
誤り・権利侵害を報告