W następnym artykule przyjrzymy się aplikacji Maybe. Dzięki temu narzędziu będziemy mogli łatwo wiedzieć co dokładnie zrobi polecenie lub program przed jego wykonaniem bezpośrednio z terminala. Osiągniemy to dzięki Maybe. Użyteczność uruchamiaj procesy pod kontrolą ptrace (z pomocą biblioteki python-ptrace). Narzędzie zacznie działać, gdy przechwyci wywołanie systemowe, które ma wprowadzić zmiany w systemie plików. Zaloguje to wywołanie, a następnie zmodyfikuje rejestry procesora, aby przekierować wywołanie do nieprawidłowy identyfikator wywołania systemowego (skutecznie zmieniając go w «bez operacji«) I ustaw wartość tego niedziałającego wywołania na taką, która wskazuje powodzenie pierwotnego wywołania.
To proste narzędzie, które pozwoli nam wykonać polecenie i zobaczyć, co robi z naszymi plikami, nie robiąc tego. Po przejrzeniu wyniku, który zostanie wyświetlony, możemy zdecydować, czy naprawdę chcemy go wykonać, czy nie.
Zainstaluj Może na Ubuntu
Aby móc korzystać z tego narzędzia, musimy to zapewnić zainstalowane pypeć w naszym systemie Gnu / Linux. Jeśli nie mamy go zainstalowanego, możemy to zrobić w prosty sposób, jak pokazano poniżej. Możemy użyć terminala (Ctrl + Alt + T) w Debian, Ubuntu i Linux Mint pisząc następującą komendę:
sudo apt-get install python-pip
Kiedy mamy zainstalowany pip w naszym systemie, możemy wykonać następujące polecenie do zainstalować Może z terminala:
sudo pip install maybe
Więcej o tym narzędziu możemy dowiedzieć się na stronie GitHub z projektu.
Jak się dowiedzieć, co zrobi polecenie lub program przed jego wykonaniem
Korzystanie z tego narzędzia jest niezwykle łatwe. Po prostu będziemy musieli dodaj Może przed poleceniem które chcemy wykonać w naszym terminalu. Jako przykład możesz zobaczyć następujące polecenie, które napisałem w moim terminalu:
maybe rm -r Ubunlog/
Możesz zobaczyć, że zamierzam usunąć za pomocą polecenia „rm„Folder o nazwie„Ubunlog»Z mojego systemu. Na poniższym zrzucie ekranu możesz zobaczyć dane wyjściowe, które polecenie pokazuje mi w terminalu:
Narzędzie Może wykona 6 operacji na systemie plików, a ja pokazuje, co dokładnie zrobi to polecenie (rm -r Ubunlog/). Teraz mogę zdecydować, czy powinienem wykonać tę operację. To dość prosty przykład, ale myślę, że możesz zobaczyć, na czym polega idea tego narzędzia.
Na wypadek, gdyby użyteczność nie była całkowicie jasna, oto kolejny przykład. Mam zamiar zainstalować klienta stacjonarnego Skrzynka odbiorcza dla Gmaila. W tym celu przejdę do folderu, w którym pobrałem plik. AppImage i uruchom go za pomocą aplikacji Maybe. Oto, co system pokazał mi w terminalu (Ctrl + Alt + T):
maybe ./inboxer-0.4.0-x86_64.AppImage
W przypadku, gdy narzędzie nie wykrywa brak operacji w systemie plików, terminal pokaże nam komunikat, że nie wykrył żadnej operacji w systemie plików, więc nie pokaże ostrzeżeń.
Od teraz będziemy mogli łatwo wiedzieć, co zrobi polecenie lub program, zanim jeszcze je wykonamy. W rezultacie system wierzy, że wszystko, co próbujesz zrobić, faktycznie się dzieje, podczas gdy w rzeczywistości tak nie jest.
Odinstaluj może
Aby usunąć to narzędzie z naszego systemu operacyjnego, będziemy musieli użyć tylko opcji odinstalowania pip. Aby to zrobić, otwieramy terminal (Ctrl + Alt + T) i piszemy w nim:
sudo pip uninstall maybe
ostrzeżenie
Musimy być bardzo ostrożni podczas używania tego narzędzia w systemie produkcyjnym lub w jakimkolwiek systemie zawierającym poufne informacje. To nie jest narzędzie do uruchamiania niewiarygodnego kodu w naszym systemie. Proces działający w ramach Może nadal może spowodować poważne uszkodzenie naszego systemu ponieważ tylko kilka wywołań systemowych jest blokowanych. Możemy również zweryfikować, czy operacja taka jak usunięcie pliku została wykonana za pomocą wywołania systemowe tylko do odczytu i odpowiednio zmodyfikuj jego zachowanie.
Załóżmy, że ktoś ma zły pomysł na uruchomienie rm -r / * jako administrator