LinuC102対策|/etc/cron.allowと/etc/cron.denyが存在しない場合のcrontab許可ユーザーの正解とは

Linux系

LinuC102の学習において、cronのアクセス制御に関する「/etc/cron.allowと/etc/cron.denyの両方が存在しない場合、crontabを使用できるユーザーは誰か」という問題は混乱しやすいポイントの一つです。教材や解説によって答えが異なるように見えることもあり、試験対策として正確な理解が重要になります。本記事ではその仕様の考え方を整理します。

cronのアクセス制御ファイルの基本仕様

cronにはユーザーのcrontab利用を制御するためのファイルとして「/etc/cron.allow」と「/etc/cron.deny」が用意されています。

これらは明示的に利用可否を制御するための仕組みであり、どちらが存在するかによって挙動が変わります。

例えばcron.allowにユーザー名が記載されていれば、そのユーザーのみがcrontabを使用できます。

両方のファイルが存在しない場合の動作

結論として、/etc/cron.allowも/etc/cron.denyも存在しない場合、多くのLinux標準実装(cronの一般的な仕様)では「全ユーザーがcrontabを使用可能」となります。

これはデフォルト状態では制限が存在しないため、すべてのユーザーに許可される設計になっているためです。

例えば初期状態のLinux環境では特別な制限設定をしない限り誰でもcrontabを作成できます。

rootユーザーのみという解釈が生まれる理由

一部の解説で「rootのみ」とされる理由は、セキュリティポリシーやディストリビューション独自の初期設定を混同しているケースがあるためです。

また厳格な環境ではcronの利用を制限する運用がされることがあり、その結果として誤解が生じやすくなっています。

例えば企業のサーバー環境ではcron.denyをデフォルトで厳しく設定している場合があります。

LinuC試験での正しい考え方

LinuCの出題範囲としては、一般的なcronの標準仕様に基づいて理解することが重要です。

つまり「両方のファイルが存在しない場合は制限がなく、全ユーザーがcrontabを使用可能」という理解が正解となります。

試験ではディストリビューション依存の挙動ではなく、標準的なUNIX/Linux仕様が問われる点に注意が必要です。

補足:優先順位の整理

cron.allowとcron.denyが両方存在する場合はcron.allowが優先されます。

cron.allowが存在すればdenyは無視されるため、制御の優先順位を理解しておくことが重要です。

例えば両方を設定した場合でもallowに記載されたユーザーのみが許可されます。

まとめ

/etc/cron.allowと/etc/cron.denyがどちらも存在しない場合、一般的なLinux仕様ではすべてのユーザーがcrontabを利用できます。

LinuC試験ではこの標準仕様を正しく理解することが求められるため、環境依存の挙動と混同しないことが重要です。

コメント

タイトルとURLをコピーしました