ファイルやディレクトリのイベントに応じてジョブを実行する – incron その2

kiccoCentOS, incron, incrond, incrontab, inotify, linux, イベント, ジョブ, ファイルシステム, 実行

こんにちは、kiccoです。
最近冷蔵庫の冷えが良くないなーと思ってたらどうやら壊れたようです…
大学入学時から使っているのでかれこれ14年、寿命でしょうか。
暖かくなって冷蔵庫の中が大変!!なことになる前に早く買い換えます。

さて今回は前回に続き incron についてもう少し調べてみました。

まず、’incrontab’コマンドのmanを見てみます。
$ man incrontab
SYNOPSIS
    incrontab [-u user] [-f config] file
    incrontab [-u user] [-f config] [-l | -r | -e | -t | -d]
構文は’crontab’コマンドと同じです。
指定できるオプションを表にまとめました。

オプション 説明
  -u <USER> (or –user=<USER>)     テーブル(設定)の所有者名を指定する
  root権限を持つユーザのみ使用可能  
  -l (or –list)     テーブル(設定)を表示する  
  -r (or –remove)     テーブル(設定)を削除する  
  -e (or –edit)     テーブル(設定)を編集する  
  -t (or –types)     指定できるイベントの一覧を表示する  
  -d (or –reload)     テーブル(設定)を適用する  
  -f <FILE> (or –config=<FILE>)     サーバの設定ファイルを指定する
  root権限を持つユーザのみ使用可能  

 
各ユーザのテーブルは /var/spool/incron に保存されます。
# ls -l /var/spool/incron/
-rw------- 1 root root 68 3月 5 18:58 root
前回rootで設定した内容がありました。
# cat /var/spool/incron/root
/etc/hosts.allow IN_MODIFY logger -t incron "hosts.allow modified."

さて、incron は以下のファイルで利用できるユーザを制限することができます。
/etc/incron.allow
/etc/incron.deny
それぞれのファイルにユーザを記載することで制限できます。
# cat /etc/incron.allow
root
kicco
それぞれのファイルについて、その存在の有無や設定内容による制限内容を表にまとめました。

  incron.allow     incron.deny     制限内容  
ファイル 設定内容 ファイル 設定内容
全てのユーザが利用できる
全てのユーザが利用できる
root incron.deny に記載されたユーザ(root)のみ利用できない
全てのユーザが利用できない
全てのユーザが利用できない
root 全てのユーザが利用できない
root incron.allow に記載されたユーザ(root)のみ利用できる
root incron.allow に記載されたユーザ(root)のみ利用できる
root root incron.allow に記載されたユーザ(root)のみ利用できる

incron.allow が存在すると incron.deny は完全に無視されます。
また、それぞれのファイルが空の場合の挙動も注意する必要があります。

次回はサーバの設定ファイルと運用で役立つ情報をお届けできればと考えてます。
今回はこの辺で。フガグクッ!!