[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:52437] Re: integritのデータベース更新について



On Fri, 1 May 2009 14:59:56 +0900,
canon <kame55-itasenpara123@xxxxxxxxxxxxx> wrote:
> 一昨日ほどにファイル改竄対策に「integrit」を、参考サイトなどを見て設定
> し、データベースを作成しました。しかし、次のデータベースの更新がうまく
> 行っておらず、一度行った変更が更新により有効にならず、スキャンした時に変
> 更されているといつも通知されます。
[略]
> どうすればデータベースの更新と変更点の出力をなくすことができますでしょう
> か。グーグルなどでいろいろと調べてみるも、思い当たるものはありませんでし
> た。
integrit 自体には known.cdb を更新する機能はないので、
cron 実行時に known.cdb を更新するには cron ジョブで行う必要があります。
/etc/cron.daily/integrit はこんな感じではないでしょうか。

  if test "$RC" -eq 0; then
    test -e "$known" || cp "$current" "$known"
  else
    rc="$RC"
  fi

この設定だと、integrit が 0 を返したとき、$known が存在しない場合、
$current を $known にコピーします。この条件を変更してください。
新しめの integrit の返り値は
  0: 変更を発見せず
  1: 変更を発見
  2 または 3: エラー発生
なので、integrit が 0 または 1 を返したときだけ $known を
更新するといいと思います:

  if test "$RC" -eq 0 || test "$RC" -eq 1; then
    cp "$current" "$known"
  fi
  if test "$RC" -ne 0; then
    rc="$RC"
  fi

常にメールで報告する設定なら、cp にも -v オプションを
つけておくといいかもしれません。人の介入なしに更新可能な
データベースがどれほど信用できるかは別の問題です。

-- 
大原雄馬 <oohara@xxxxxxxxxxxxxxxxxx>

黎明の輝きはもはや消せぬ
--- ガスト/バンプレスト「アルトネリコ2」