Понимание aide.db

Aide (монитор целостности файла) создает базу данных с именем aide.db. В этом файле два отдельных столбца – attr и perms. Как интерпретировать данные в этих столбцах?

Отвечая на мой собственный вопрос, эксперименты показывают следующее.

aide.db (и aide.db.new) всегда имеют следующие столбцы:

  1. name – имя файла / каталога / soft link
  2. lname – цель софт-ссылки, но «0», если это не мягкая ссылка
  3. attr – см. ниже
  4. perm – разрешения для этого элемента – см. ниже
  5. inode – индекс для этого элемента

Может быть больше столбцов, в соответствии с тем, что вы запросили в файле конфигурации.

Разрешения могут начинаться с:

  • 4: это каталог
  • 10: это файл
  • 12: это мягкая ссылка

(Заметим, что «d» – это 4-я буква алфавита, а «l» – 12., но «f» не является 10-м.)

Следующая цифра – биты setuid / setgid / sticky, а последние три цифры – обычные разрешения. Например, если запись равна 100755, это файл с разрешениями rwxr-xr-x

В столбце атрибутов (attr) есть биты, которые указывают, что вы запросили или что было предоставлено. Вот некоторые из битов, выраженные в шестнадцатеричном виде:

  • 1: всегда установлено значение 1
  • 2: (я не знаю)
  • 4: p = perms
  • 8: u = userid
  • 10: g = группа
  • 20: s = размер
  • 40: a = atime (я еще не знаю, как читать время.)
  • 80: c = ctime
  • 100: m = mtime
  • 200: i = inode
  • 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

Я уверен, что больше можно было бы открыть, посмотрев исходный код. Пожалуйста, исправьте ошибки.