În articolul următor vom analiza Poate. Cu acest instrument vom putea cunoaște cu ușurință ce va face exact o comandă sau un program înainte de al executa direct de la terminal. Vom realiza acest lucru cu Poate. Utilitate rulați procesele sub controlul ptrace (cu ajutorul bibliotecii python-ptrace). Instrumentul va începe să funcționeze atunci când interceptează un apel de sistem care urmează să aducă modificări sistemului de fișiere. Acesta va înregistra acel apel și apoi va modifica registrele CPU pentru a redirecționa apelul către un ID syscall nevalid (transformându-l efectiv într-un «fara operatie«) Și setați valoarea acelui apel inoperant la unul care indică succesul apelului inițial.
Acesta este un instrument simplu care ne va permite să executăm o comandă și vezi ce face fișierele noastre fără să o faci efectiv. După examinarea rezultatului care va fi listat, putem decide dacă vrem cu adevărat să-l executăm sau nu.
Instalați Poate pe Ubuntu
Pentru a utiliza acest instrument, trebuie să ne asigurăm că au instalat țâfnă în sistemul nostru Gnu / Linux. Dacă nu îl avem instalat, îl putem face într-un mod simplu așa cum se arată mai jos. Putem folosi terminalul (Ctrl + Alt + T) în Debian, Ubuntu și Linux Mint scriind următoarea comandă:
sudo apt-get install python-pip
Când avem pip instalat în sistemul nostru, putem executa următoarea comandă la instalați Poate de la terminal:
sudo pip install maybe
Putem afla mai multe despre acest instrument pe pagină GitHub a proiectului.
Cum să știți ce va face o comandă sau un program înainte de al executa
Utilizarea acestui instrument este extrem de ușoară. Pur și simplu va trebui adaugă Poate în fața comenzii pe care vrem să îl executăm în terminalul nostru. De exemplu, puteți vedea următoarea comandă pe care am scris-o în terminalul meu:
maybe rm -r Ubunlog/
Puteți vedea că voi șterge folosind comanda „rm”Un dosar numit„Ubunlog»Din sistemul meu. În următoarea captură puteți vedea rezultatul pe care mi-l arată comanda în terminal:
Instrumentul Poate va efectua 6 operații ale sistemului de fișiere și eu arată ce va face exact această comandă (rm-r Ubunlog/). Acum pot decide dacă trebuie sau nu să efectuez această operațiune. Acesta este un exemplu destul de simplu, dar cred că puteți vedea care este ideea instrumentului.
În cazul în care utilitatea nu a fost complet clară, iată un alt exemplu. Voi instala clientul desktop inboxer pentru Gmail. Pentru aceasta, voi merge la folderul în care am descărcat fișierul. AppImage și lansați-l cu Poate. Iată ce mi-a arătat sistemul în terminal (Ctrl + Alt + T):
maybe ./inboxer-0.4.0-x86_64.AppImage
În cazul în care instrumentul nu detectează nicio operațiune pe sistemul de fișiere, terminalul ne va arăta un mesaj că nu a detectat nicio operațiune pe sistemul de fișiere, deci nu va afișa avertismente.
De acum înainte, vom putea ști cu ușurință ce va face o comandă sau un program înainte chiar de a o executa. Drept urmare, sistemul crede că tot ceea ce încercați să faceți se întâmplă de fapt, atunci când în realitate nu este.
Dezinstalați Poate
Pentru a elimina acest instrument din sistemul nostru de operare, va trebui să folosim doar opțiunea de dezinstalare a pip. Pentru a face acest lucru, deschidem un terminal (Ctrl + Alt + T) și scriem în el:
sudo pip uninstall maybe
Avertisment
Trebuie să fim foarte atenți atunci când folosim acest utilitar pe un sistem de producție sau în orice sistem cu informații sensibile. Acesta nu este un instrument pentru a rula codul nesigur pe sistemul nostru. Un proces care rulează sub Poate poate provoca în continuare daune grave sistemului nostru deoarece doar o mână de apeluri de sistem sunt blocate. De asemenea, putem verifica dacă a fost efectuată o operațiune precum ștergerea unui fișier syscall-uri numai în citire și își modifică comportamentul în consecință.
Să presupunem că cineva are ideea proastă de a rula rm -r / * ca administrator