どーも!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
を誤って使用するのを防ぐことができます
以上です!
ここまで読んでいただきありがとうございました!
コメント