LinuCレベル1 102試験の例題と解説
1.08.2ジョブスケジューリング
LinuCレベル1102試験の出題範囲から「1.08.2 ジョブスケジューリング」についての例題を解いてみます。
ここでは、cronのアクセス制限について確認しておきましょう。
例題
「/etc/cron.allow」と「/etc/cron.deny」の説明として、誤っているものを選択してください。
- 「/etc/cron.allow」と「/etc/cron.deny」が両方とも存在しない場合、crontabコマンドはすべてのユーザが利用可能である
- 「/etc/cron.allow」のみ存在する場合、「/etc/cron.allow」に記載のないユーザはcrontabコマンドを利用不可能である
- 「/etc/cron.deny」のみ存在する場合、「/etc/cron.deny」に記載のないユーザはcrontabコマンドを利用可能である
- 「/etc/cron.allow」と「/etc/cron.deny」が両方とも存在する場合、優先される設定ファイルは「/etc/cron.deny」である
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「4.「/etc/cron.allow」と「/etc/cron.deny」が両方とも存在する場合、優先される設定ファイルは「/etc/cron.deny」である」です。
まずは、cronについて確認しましょう。
cronとは、ジョブを自動実行するためのデーモンプロセスです。バックアップ作業など、システムへの負荷が大きい作業を行うことがあります。cronを利用することで、ユーザアクセスの少ない時間に自動実行することが可能になります。
一般ユーザがcron設定を行う際は、crontabコマンドを利用して設定を行います。このコマンドの利用者を制限するときに、「/etc/cron.allow」と「/etc/cron.deny」を利用します。
「/etc/cron.allow」に記載のあるユーザは、crontabコマンドが利用できます。
「/etc/cron.deny」に記載のあるユーザは、crontabコマンドが利用できなくなります。
以下のように、パターン分けを行うことができます。
/etc/cron.allow | /etc/cron.deny | 利用可能ユーザ |
存在しない | 存在しない | 全ユーザ |
存在する | 存在しない | 「/etc/cron.allow」に記載があるユーザ |
存在しない | 存在する | 「/etc/cron.deny」に記載がないユーザ |
存在する | 存在する | 「/etc/cron.allow」に記載があるユーザ (「/etc/cron.deny」の設定は、無効) |
選択肢の解説は以下です。
1.「/etc/cron.allow」と「/etc/cron.deny」が両方とも存在しない場合、crontabコマンドはすべてのユーザが利用可能である
正しいので不正解です。
「/etc/cron.allow」と「/etc/cron.deny」が両方とも存在しない場合は、全ユーザでcrontabコマンドを利用することが可能です。
2.「/etc/cron.allow」のみ存在する場合、「/etc/cron.allow」に記載のないユーザはcrontabコマンドを利用不可能である
正しいので不正解です。
「/etc/cron.allow」のみ存在する場合は、「/etc/cron.allow」に記載があるユーザでcrontabコマンドを利用することが可能です。
3.「/etc/cron.deny」のみ存在する場合、「/etc/cron.deny」に記載のないユーザはcrontabコマンドを利用可能である
正しいので不正解です。
「/etc/cron.deny」のみ存在する場合は、「/etc/cron.deny」に記載のないユーザがcrontabコマンドを利用可能です。
4.「/etc/cron.allow」と「/etc/cron.deny」が両方とも存在する場合、優先される設定ファイルは「/etc/cron.deny」である
誤りなので正解です。
「/etc/cron.allow」と「/etc/cron.deny」が両方とも存在する場合は、「/etc/cron.allow」が優先されます。
そのため、「/etc/cron.deny」の記載された設定は無効になります。
「/etc/cron.allow」と「/etc/cron.deny」の違いを確認し、cron設定を行えるユーザを管理しましょう。
例題作成者
株式会社デージーネット OSS研究室 上野 貴博