Монитор доступа к файлам

Простой способ с использованием подстановки параметров вbash:

for file in *.jpg; do mv "${file}" "${file/_*/.jpg}";done

Это зациклит файлы, если запустить их в каталоге, в котором они находятся.

0
10.08.2020, 08:32
3 ответа

Если программное обеспечение, не являющееся корневым -, пытается изменить пользователей, вы можете проверить это с помощью команды lastb:

$ sudo lastb -a | more
user     pts/2        Mon Aug 10 08:17 - 08:17  (00:00)
root     ssh:notty    Mon Aug 10 08:17 - 08:17  (00:00)     46.148.201.206
root     ssh:notty    Mon Aug 10 08:17 - 08:17  (00:00)     161.35.32.43
root     ssh:notty    Mon Aug 10 08:16 - 08:16  (00:00)     13.68.137.194
root     ssh:notty    Mon Aug 10 08:16 - 08:16  (00:00)     115.196.179.138

В этом случае я вошел в систему как userс неверным паролем, используя su. Вы можете увидеть это в журнале. Вы также можете видеть, что случайные IP-адреса постоянно пытаются угадать мой пароль root через ssh.

Если вы хотите настроить путь inotify или systemd для отслеживания доступа к файлу, файл для отслеживания будет /var/log/btmp. lastbиспользует этот файл.

Если вы хотите проверить успешные входы в систему, используйте last. Это мониторы/var/log/wtmp:

$ last -a
usera    pts/5        Fri Jul 31 03:00 - 03:17  (00:16)     54.36.10.77
usera    pts/5        Thu Jul 30 21:36 - 21:37  (00:01)     54.36.10.77
usera    pts/5        Wed Jul 29 08:54 - 08:54  (00:00)     127.0.0.1
userb    tty7         Tue Jul 21 11:29   still logged in    :0
userb    tty7         Tue Jul 21 10:59 - 11:29  (00:30)     :0
userb    tty7         Tue Jul 21 07:27 - 10:58  (03:31)     :0
reboot   system boot  Tue Jul 21 09:27   still running      5.7.0-1-amd64
...
1
18.03.2021, 23:13

Большинство дистрибутивов хранят пароли пользователей для входа в систему в /etc/shadow, этот файл принадлежит rootи имеет права 0600, то есть только rootможет читать или писать в этот файл.

При этом некоторые дистрибутивы предоставляют «связки ключей» для использования пользователями/программами. Связки ключей — это, по сути, база данных или файл секретного хранилища, например, KDE предоставляет KWallet, а такие программы, как Chromium, используют KWallet для хранения паролей и т. д.

Эти наборы ключей обычно управляются каждым -пользователем и также хранятся с разрешениями 0600, поэтому только пользователь, владеющий набором ключей, может его прочитать. Так что, если вы беспокоитесь о вредоносных программах, отличных от -, если они не запущены вашим пользователем, вы в этом отношении в безопасности.

К сожалению, я не могу дать вам исчерпывающий список файлов для мониторинга, потому что каждый дистрибутив использует собственное решение для управления секретами (, например GNOME3, использующее Seahorse вместо KWallet ). Но обычно я отслеживаю изменения в:

~/.ssh/authorized keys # List of keys accepted during SSH logins
~/.profile             # File sourced by your login shell
~/.bash_profile        # File sourced by your login shell
~/.bashrc              # File sourced by your login shell

Что касается мониторинга, пожалуй, самый простой способ его настроить — использовать среду аудита через auditctl.

Например, это будет контролировать весь доступ к файлу базы данных KWallet Боба:(временное правило,сбрасывается при перезагрузке, если не добавлено в/etc/audit/audit.rules)

sudo auditctl -w /home/bob/.local/share/kwalletd/kdewallet.kwl -p rwxa

И для просмотра доступа:

sudo less /var/log/audit/audit.log

Вот документация, которая может помочь вам создать свои собственные правила

1
18.03.2021, 23:13

В Linux вы можете использовать структуру inotify и связанные с ней инструменты командной строки, чтобы отслеживать доступ к некоторым файлам, осуществляемый другим процессом.

Вот справочные страницы

Если вам нужно более сложное поведение, для этого фреймворка существуют привязки для большинства языков сценариев (python, lua и т. д.)

0
18.03.2021, 23:13

Теги

Похожие вопросы