Как защитить файл от редактирования внешней программой или пользователем, даже если этот пользователь каким-то образом получил права root. Допустим, у меня есть этот файл F, который я должен защищать, и по умолчанию только root и пользователь могут выполнять, читать и записывать в F, все остальные имеют только права на чтение.
Допустим, у меня есть программа, которая защищает критический файл F и обнаруживает, что обстоятельства редактирования являются необычными и кажется, что безопасность системы могла быть нарушена. Как предотвратить сохранение изменений в файле F? Если возможно, также убейте ту программу, которая пыталась внести это изменение.
Я обнаружил, что фьюзер может убить этот процесс, но не раньше, чем будут сделаны какие-либо изменения, такие как повреждение. Я использую inotify, чтобы обнаружить изменения. Моя проблема в том, что большинство редакторов создают временный файл, вносят изменения, а затем сохраняют его в исходном файле. Хотя я получаю такие события, как IN_OPEN, IN_CLOSENOWRITE и другие, я получаю IN_CLOSEWRITE и IN_CLOSEMODIFY только после завершения события? Как мне остановить мой файл F от изменения?
Я понимаю, что моя программа может быть убита после того, как кто-то войдет в систему, но могу ли я каким-то образом сохранить все, что смогу?
Редактировать: я забыл упомянуть, что не могу изменить разрешения для любого файла, который отслеживается.
Edit # 2: у меня есть набор файлов, которые нужно постоянно контролировать. Моя программа будет работать в фоновом режиме и отмечать изменения в этих файлах. Все файлы, как я писал ранее, могут быть отредактированы и выполнены пользователем root, но есть действия (модификации), которые могут быть нежелательны и, скорее всего, означают, что кто-то получил права root и отредактировал эти критические файлы. Мне нужно остановить эти вредные изменения. Из ответов я как-то предполагаю, что мне нужно будет сделать снимок этих файлов. Но проблема в том, что количество файлов может быть огромным, от 1 до 4 миллионов. Любые решения, которые эффективнее, чем снимки, приветствуются.