Утилита для проверки того, что сделает команда с вашими файлами, без её реального выполнения
6К открытий6К показов
Допустим, вы хотите выполнить rm -rf pic*
, но вы на самом деле уверены, что вам нужно именно это? На сто процентов уверены?
Утилита maybe позволяет проверить, что сделает с файлами определённый скрипт или команда, но не выполнять их на самом деле. Получив полный список действий, можно применить их или отказаться от изменений.
Как это работает?
Maybe запускает процесс под контролем ptrace и перехватывает все системные вызовы, изменяющие файловую систему. Эти данные записываются, а затем производятся изменения регистров CPU так, чтобы вызов был некорректным, но вместе с тем по всем признакам для вызывающего процесса завершился успехом.
В результате, команда продолжает выполняться, как будто изменения произошли, хотя их не было.
Однако авторы предупреждают, что использовать maybe для выполнения подозрительного кода не рекомендуется. Такой процесс всё равно может нанести существенный вред вашей системе, так как перехватываются не все системные вызовы. Используйте утилиту только для проверки своих собственных ошибок в командах, которые вы всё равно собираетесь выполнить.
Установка
Для maybe нужен Python 2.7+/3.2+. Если у вас есть пакетный менеджер pip, то просто выполните
от имени su или из virtualenv-окружения. Чтобы собрать из исходного кода, склонируйте репозиторий и выполните
в коре директории проекта.
Поддерживаемые ОС
На текущий момент полностью поддерживается Linux. Под FreeBSD/OpenBSD есть проблемы с перехватом дочерних процессов.
Использование
Никакие другие параметры не принимаются.
Пример
Лицензия
Автор проекта Emanuel Weidmann, код распространяется по GNU GPLv3.
6К открытий6К показов