У наступній статті ми збираємось поглянути на Можливо. За допомогою цього інструменту ми зможемо легко дізнатися що саме буде робити команда або програма перед її виконанням безпосередньо з терміналу. Ми досягнемо цього за допомогою можливо. Утиліта запускати процеси під контролем ptrace (за допомогою бібліотеки python-ptrace). Інструмент почне працювати, коли перехопить системний виклик, який збирається внести зміни до файлової системи. Він реєструє цей виклик, а потім модифікує регістри ЦП, щоб перенаправити виклик на a недійсний ідентифікатор системного виклику (фактично перетворивши його на «жодної операції«) І встановіть значення цього недіючого дзвінка на таке, яке вказує на успіх вихідного дзвінка.
Це простий інструмент, який дозволить нам виконати команду і подивіться, що це робить з нашими файлами, фактично не роблячи цього. Переглянувши результат, який буде перерахований, ми можемо вирішити, чи дійсно ми хочемо його виконати чи ні.
Встановіть можливо на Ubuntu
Для того, щоб використовувати цей інструмент, ми повинні це забезпечити встановили типун в нашій системі Gnu / Linux. Якщо у нас його не встановлено, ми можемо зробити це простим способом, як показано нижче. Ми можемо використовувати термінал (Ctrl + Alt + T) в Debian, Ubuntu та Linux Mint написання наступної команди:
sudo apt-get install python-pip
Коли в нашій системі встановлено pip, ми можемо виконати таку команду для встановити Можливо з терміналу:
sudo pip install maybe
Детальніше про цей інструмент ми можемо дізнатись на сторінці GitHub проекту.
Як дізнатись, що буде робити команда або програма перед її виконанням
Користуватися цим інструментом надзвичайно просто. Нам просто доведеться додати Можливо перед командою що ми хочемо виконати в нашому терміналі. Як приклад ви можете побачити таку команду, яку я написав у своєму терміналі:
maybe rm -r Ubunlog/
Ви бачите, що я збираюся видалити за допомогою команди "rm”Папка під назвою“Ubunlog»З моєї системи. На наступному скріншоті ви можете побачити результати, які команда показує мені в терміналі:
Інструмент "Можливо" збирається виконати 6 операцій з файловою системою, а я показує, що саме буде робити ця команда (rm -r Ubunlog/). Тепер я можу вирішити, чи слід мені робити цю операцію чи ні. Це досить простий приклад, але я думаю, ви можете зрозуміти, в чому полягає ідея інструменту.
Якщо утиліта не була повністю зрозумілою, ось ще один приклад. Я збираюся встановити клієнт робочого столу Вхідні для Gmail. Для цього я збираюся перейти до папки, в яку я завантажив файл. AppImage і запустіть його за допомогою можливо. Це те, що система показала мені в терміналі (Ctrl + Alt + T):
maybe ./inboxer-0.4.0-x86_64.AppImage
Якщо інструмент не виявляє відсутність операцій над файловою системою, термінал покаже нам повідомлення про те, що він не виявив жодної операції у файловій системі, тому він не відображатиме попереджень.
Відтепер ми зможемо легко знати, що робитиме команда або програма, ще до її виконання. Як результат, система вважає, що все, що ви намагаєтесь зробити, насправді відбувається, а насправді це не так.
Видалити можливо
Щоб видалити цей інструмент з нашої операційної системи, нам потрібно буде лише використовувати опцію видалення pip. Для цього ми відкриваємо термінал (Ctrl + Alt + T) і записуємо в нього:
sudo pip uninstall maybe
попередження
Ми повинні бути дуже обережними, використовуючи цю утиліту у виробничій системі або в будь-якій системі з конфіденційною інформацією. Це не інструмент для запуску ненадійного коду в нашій системі. Процес, який виконується під Може, все ще може завдати серйозної шкоди нашій системі оскільки лише кілька системних дзвінків заблоковано. Ми також можемо перевірити, чи була виконана така операція, як видалення файлу системні виклики лише для читання та відповідно змініть його поведінку.
Припустимо, хтось погано уявляє запуск rm -r / * від імені адміністратора