どーも!marusukeです!
crontabコマンドの利用者を制限する設定ファイル/etc/cron.allow と /etc/cron.denyというファイルについてです!
/etc/cron.allow と /etc/cron.deny とは?
/etc/cron.allow と /etc/cron.deny は、crontab コマンドの使用を許可・制限するための設定ファイルです
特定のユーザーが crontab コマンドを使ってジョブを登録できるかどうかを制御します
/etc/cron.allow の役割
cronの使用を許可するユーザーをリストするファイル- このファイルが存在する場合、ここに記載されたユーザーのみが
cronを使用できる rootは常に許可されるため、記載する必要はない
/etc/cron.allow の設定方法
root ユーザーで /etc/cron.allow を作成または編集します
sudo vi /etc/cron.allow
許可したいユーザー名を1行ずつ記述
# /etc/cron.allowファイルの記述例
user1
user2
保存して終了します(vi の場合は ESC → :wq → Enter)
この設定により、user1 と user2 のみが cron を使用できるようになります
/etc/cron.deny の役割
cronの使用を拒否するユーザーをリストするファイル/etc/cron.allowが存在しない場合にのみ有効- ここに記載されたユーザーは
crontabを使用できない - ファイルが空の場合、すべてのユーザーが
cronを使用できる(ただし、セキュリティ上cron.denyを空にするのは推奨されない)
/etc/cron.deny の設定方法
root ユーザーで /etc/cron.deny を作成または編集します
sudo vi /etc/cron.deny
cron の使用を禁止したいユーザーを1行ずつ記述します
user3
user4
保存して終了します(viコマンドの場合:ESC → :wq → Enter)
この設定により、user3 と user4 は crontab を使用できなくなります
設定の優先順位
/etc/cron.allowが存在する場合 → 記載されたユーザーのみcronを使用可能/etc/cron.allowが存在せず、/etc/cron.denyがある場合 →cron.denyに記載されたユーザーはcronを使用不可(それ以外のユーザーは使用可能)/etc/cron.allowも/etc/cron.denyも存在しない場合 → すべてのユーザーがcronを使用可能(ディストリビューションによってcron.denyがデフォルトで作成されていることがある)
設定の確認方法
設定を変更した後、cron サービスの再起動は不要です
制限されたユーザーが crontab -e を実行すると、以下のようなエラーが表示されます
You (user3) are not allowed to use this program (crontab)
また、許可されたユーザーで crontab -e を実行すると、正常にエディタが開きます
/etc/cron.allow と /etc/cron.deny を設定することで、サーバーのセキュリティを強化し、不要なユーザーが cron を誤って使用するのを防ぐことができます
以上です!
ここまで読んでいただきありがとうございました!


コメント