【Linux】cronの利用者を制限する設定ファイル

Linux

どーも!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:wqEnter

この設定により、user1user2 のみが 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:wqEnter

この設定により、user3user4crontab を使用できなくなります

設定の優先順位

  1. /etc/cron.allow が存在する場合記載されたユーザーのみ cron を使用可能
  2. /etc/cron.allow が存在せず、/etc/cron.deny がある場合cron.deny に記載されたユーザーは cron を使用不可(それ以外のユーザーは使用可能)
  3. /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 を誤って使用するのを防ぐことができます

以上です!

ここまで読んでいただきありがとうございました!

コメント

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