web-dev-qa-db-ja.com

aide.dbを理解する

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

1
Michael Mather

私自身の質問に答えて、実験は次のことを示しています。

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

  1. name-ファイル/ディレクトリ/ソフトリンクの名前
  2. lname-ソフトリンクのターゲットですが、これがソフトリンクでない場合は「0」
  3. attr-以下を参照
  4. perm-このアイテムの権限-以下を参照
  5. iノード-このアイテムのiノード

構成ファイルで要求した内容に応じて、さらに多くの列が存在する場合があります。

権限は次で始まる場合があります。

  • 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 = groupid
  • 20:s =サイズ
  • 40:a = atime(時間の読み方はまだわかりません。)
  • 80:c = ctime
  • 100:m = mtime
  • 200:i = iノード
  • 400:b =ブロック数
  • 800:n =リンクの数
  • 4,000,000:S =サイズの拡大
  • 8,000,000:I =変更されたファイル名を無視する

4から800までのすべてで、余分な列が印刷されます。

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

  • 1000:md5
  • 2000:sha1
  • 4000:rmd160
  • 8000:虎
  • 10000:crc32
  • 20000:ハヴァル
  • 40,000,000:sha256
  • 80,000,000:sha512

ソースコードを見れば、もっと発見できると思います。間違いを訂正してください。

2
Michael Mather