En el següent article anem a fer una ullada a Maybe. Amb aquesta eina podrem saber fàcilment què farà exactament una ordre o programa abans d'executar directament des de la terminal. Això ho aconseguirem amb Maybe. la utilitat executa processos sota el control d'ptrace (Amb l'ajuda de la biblioteca python-ptrace). L'eina començarà a funcionar quan intercepta una crida a sistema que està a punt de fer canvis en el sistema d'arxius. Registrarà aquesta crida i després modifica els registres de la CPU per redirigir la trucada a una identificació syscall no vàlida (Convertint-la efectivament en una «no operació«) I configurarà el valor d'aquesta trucada no operativa a una que indiqui l'èxit de la trucada original.
Aquesta és una eina simple que ens permetrà executar una ordre i veure el que fa als nostres arxius sense fer-ho realment. Després de revisar el resultat que ens llistarà, podrem decidir si realment volem executar-lo o no.
Instal·lar Maybe en Ubuntu
Per poder utilitzar aquesta eina, hem d'assegurar tenir instal·lat pip en el nostre sistema GNU / Linux. Si no ho tenim instal·lat, podrem fer-ho de manera senzilla com es mostra a continuació. Podrem utilitzar la terminal (Ctrl + Alt + T) en Debian, Ubuntu i Linux Mint escrivint la següent ordre:
sudo apt-get install python-pip
Quan ja tinguem instal·lat pip en el nostre sistema, ja podrem executi la següent comanda per instal·lar Maybe des de la terminal:
sudo pip install maybe
Podrem saber més sobre aquesta eina a la pàgina de GitHub del projecte.
Com saber què farà una comanda o programa abans d'executar
L'ús d'aquesta eina és extremadament senzill. Simplement haurem de afegir Maybe davant de la comanda que vulguem executar en la nostra terminal. Com a exemple es pot veure la següent comanda que he escrit en el meu terminal:
maybe rm -r Ubunlog/
Es pot veure que vaig a eliminar mitjançant la comanda "rm"Una carpeta anomenada«Ubunlog»Del meu sistema. En la següent captura es pot veure la sortida que la comanda em mostra a la terminal:
L'eina Maybe va a realitzar 6 operacions de sistema d'arxius i em mostra què farà exactament aquesta comanda (rm - r Ubunlog/). Ara ja puc decidir si he de fer o no aquesta operació. Aquest és un exemple una mica senzilla altres, però crec que es pot veure quina és la idea de l'eina.
Per si no ha quedat totalment clara la utilitat, aquí va un altre exemple. Vaig a instal·lar el client d'escriptori Inboxer per a Gmail. Per això em vaig a situar a la carpeta en la que m'he descarregat l'arxiu. AppImage i el llanço amb Maybe. Això és el que el sistema m'ha mostrat a la terminal (Ctrl + Alt + T):
maybe ./inboxer-0.4.0-x86_64.AppImage
En cas que l'eina no detecti cap operació sobre el sistema d'arxius, La terminal ens mostrarà un missatge que no va detectar cap operació sobre el sistema d'arxius, de manera que no va a mostrar advertències.
A partir d'ara, podrem saber fàcilment què farà una comanda o un programa fins i tot abans d'executar. Com a resultat, el sistema creu que tot el que estàs tractant de fer està succeint realment, quan en realitat no és així.
Desinstal Maybe
Per eliminar aquesta eina del nostre sistema operatiu, només haurem d'utilitzar l'opció de desinstal de pip. Per a això, obrim una terminal (Ctrl + Alt + T) i escrivim en ella:
sudo pip uninstall maybe
Notes
Hem de tenir molta cura a l'usar aquesta utilitat en un sistema de producció o en qualsevol sistema amb informació sensible. Aquesta no és una eina per a executar codi no fiable en el nostre sistema. Un procés que s'executa sota Maybe encara pot causar danys greus al nostre sistema perquè només un grapat de trucades de sistema estan bloquejades. També podrem verificar si una operació com eliminar un arxiu es va realitzar amb syscalls només de lectura i modificar el seu comportament en conseqüència.
Suposem que un té la mala idea d'executar rm -r / * com a administrador