У Linux можна записати скрипт, який може підраховувати кількість звернень до файлу в локальній файловій системі і кому?
Як я можу контролювати таку річ і створювати журнал, якщо це можливо?
У Linux можна записати скрипт, який може підраховувати кількість звернень до файлу в локальній файловій системі і кому?
Як я можу контролювати таку річ і створювати журнал, якщо це можливо?
Відповіді:
The аудит Система - це виділений демон, який контролює ресурси файлової системи і записує записи журналу /var/log/audit.log того, коли певний користувач звернувся до файлу.
The auditd потрібно запустити демон і читає його конфігурацію з /etc/auditd.conf
Ви можете вказати власні правила за допомогою auditctl, напр.
$ sudo auditctl -w /etc/passwd -p war -k passwd-file
де -p війна означає (записувати, (додавати і; (читати -k "назва мого правила" являє собою фразу, яка відображатиметься в журналі аудиту -p війна відбувається
Якщо ви хочете побачити, до яких користувачів зверталися ресурси моніторингу файлової системи, використовуйте auditsearch і auditreport для фільтрації журналів "назва мого правила" і резюме звіту відповідно.
Звичайно, можна дізнатися, коли в останній раз був доступний файл з атрибута 'atime', і є кілька способів зробити це. Щоб визначити, який користувач зробив це, це більш складно і залежить від контексту, наприклад, чи був він доступний через оболонку? доступ до нього здійснювався за допомогою графічного інтерфейсу?
Щоб побачити час використання файлу ls з опцією -u:
$ ls -lu some_file
Щоб, наприклад, знайти всі файли в каталозі / home, які були доступні за останню годину, можна використовувати find команду
$ sudo find /home/ -amin -60
Ви також можете отримати більш детальну інформацію про файл з stat команда:
$ stat some_file
Насправді, тут є посиланням на скрипт, який перевіряє atime (використовуючи stat ) для файлів у вказаному каталозі.
Перечитуючи ваше запитання, я розумію, що вас цікавить "скільки разів доступ до файлу." Немає спеціальної команди * nix для визначення цієї інформації, тому вам доведеться шукати доступ до файлів журналу за допомогою одного з методів, зазначених нижче.
Що стосується вашого питання щодо визначення того, які користувачі отримали доступ до файлу, * nix спеціально не записує це. Передбачається, що системні адміністратори контролюватимуть доступ до файлів і каталогів за допомогою дозволів. Однак існує кілька варіантів, які можна спробувати:
ps і fuser , щоб побачити, які користувачі наразі мають доступ до файлів sudo доступ до файлів - журнали sudo у файл /var/log/auth.log - хоча цей варіант може бути серйозним вбивцем продуктивності (і довіри) Зауважте, що на час, що записується на диск кожного разу, коли користувач або процес звертаються до нього, ви повинні мати atime у файловій системі / etc / fstab запис (обговорюється тут )
atime але не вдалося зв'язати це добре. Ну я натрапив на інструмент під назвою аудит auditd це демон, який буде працювати, з auditctl Ви можете контролювати певні файли і ausearch відображатиме дані про те, хто має доступ до файлу, і показує ще багато інформації. Я можу написати сценарій, який фільтрує дані з інформації ausearch. Будь-які перегляди?