Рейтинг:0

Как я могу контролировать удаление /dev/null

флаг mx

Обычно я использую inotfiy_add_watch для отслеживания удаления файлов, он работает для обычных файлов или даже для большинства файлов устройств (/dev/zero и т. д.), но не работает для /dev/null. Кажется, что любые операции с ним не вызовут события inotify. Почему? Есть ли другой способ контролировать rm /dev/null? спасибо!

djdomi avatar
флаг za
зачем тебе это делать? я имею в виду, что после root/sudo это можно сделать
флаг mx
потому что я работаю на общем сервере, на котором запущено много модулей или программ с правами суперпользователя, и недавно /dev/null пару раз удаляли. Я пытаюсь выяснить, кто это сделал.
флаг us
Вы должны следовать принципу запуска программ с наименьшими требуемыми привилегиями. Ваша текущая установка кажется слишком хрупкой.
djdomi avatar
флаг za
я не уверен, что `chattr +i /dev/null` может работать, но вы должны помнить, что это может быть опасной ситуацией
djdomi avatar
флаг za
По сути, у этого вопроса уже есть некоторые решения, такие как вопросы [266717] или [899956].
Рейтинг:1
флаг cn

В Linux inotify ограничен тем, что он зависит от файловой системы. Документация говорит, что «различные псевдофайловые системы, такие как /proc, /sys и /dev/pts, не отслеживаются с помощью inotify»

Система аудита Linux способен регистрировать произвольные системные вызовы. Пример наблюдения за файлами, которое вы можете добавить /etc/audit/rules.d/specialdev.rules может быть:

-a всегда,выход -F arch=b64 -S разъединить,развязать,переименовать,переименовать -F успех=1 -F путь=/dev/null -k specialdev
-a всегда,выход -F arch=b32 -S отвязать,отвязать,переименовать,переименовать -F успех=1 -F путь=/dev/null -k specialdev

Обратите внимание на фильтрацию определенных системных вызовов, которые фактически удаляют файл, а не просто записывают в него. Запросите последние записи с чем-то вроде:

ausearch --начать вчера --завершить сейчас --key specialdev

Из этих записей в журнале вы можете узнать, когда это произошло, идентификатор процесса и связь, различные разновидности uid и контекст selinux. Хорошие подсказки, но вам все равно придется немного поискать сломанный сценарий оболочки или что-то в этом роде.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.