aid.dbについて学ぶ

aid.dbについて学ぶ

Aide(ファイル整合性モニタ)は、aide.dbというデータベースを作成します。このファイルには、attrとpermsという2つの特定の列があります。この列のデータをどのように解釈しますか?

ベストアンサー1

私自身の質問に答えるために、実験は以下を示しています。

aide.db(およびaide.db.new)には常に次の列があります。

  1. name - ファイル/ディレクトリ/ソフトリンクの名前
  2. lname - ソフトリンクの宛先。ソフトリンクでない場合は「0」
  3. attr - 以下を参照
  4. perm - このエントリに対する権限 - 以下を参照
  5. inode - プロジェクトのinode

構成ファイルで要求された内容によっては、より多くの列がある可能性があります。

権限は次のように開始できます。

  • 4: ディレクトリです
  • 10: これはファイルです
  • 12: ソフトリンクです。

(参考として、「d」はアルファベットの4番目の文字、「l」は12番目の文字です。ただし、「f」は10番目の文字ではありません。)

次の数字は setuid/setgid/sticky ビットで、最後の 3 つは一般的な権限です。たとえば、エントリが100755の場合、rwxr-xr-x権限を持つファイルです。

属性列(attr)には、要求された内容または提供された内容を表すビットがあります。以下は、16進数で表されるいくつかのビットです。

  • 1:常に1に設定
  • 2:(わかりません)
  • 4: p = 権限
  • 8: u = ユーザー ID
  • 10:g =グループID
  • 20: s = サイズ
  • 40:a = atime(まだ時間を読む方法がわかりません)
  • 80: c = c時間
  • 100: m = 時間
  • 200: i = インデックスノード
  • 400: b = ブロック数
  • 800: n = リンク数
  • 4,000,000:S =成長する規模
  • 8,000,000: I = 変更されたファイル名を無視

4 から 800 までのすべての値により、追加の列が印刷されます。

以下はチェックサムです。チェックサムは、ディレクトリやソフトリンクではなくファイルに対してのみ計算されます。ファイルの場合のみ、対応するビットが 1 に設定されます。

  • 1000:md5
  • 2000年:第1四半期
  • 4000:rmd160
  • 8000:タイガー
  • 10000: CRC32
  • 20000:ハーバード
  • 40,000,000:シャー256
  • 80,000,000: シャー512

ソースコードを見てみると、より多くを見つけることができると確信しています。エラーがあれば訂正してください。

おすすめ記事