[PYTHON] Überprüfen Sie im Voraus, was passiert, wenn der Befehl ausgeführt wird

Überblick

Versuchen Sie es mit einem Python-Tool vielleicht, mit dem Sie sehen können, was passiert, wenn Sie einen Befehl ausführen.

Es scheint, dass Sie im Voraus nach Dateivorgängen wie dem Erstellen, Löschen, Verschieben und Ändern von Berechtigungen suchen können, indem Sie Befehle ausführen. 01.png

** Vorsichtsmaßnahmen **

That being said, maybe should :warning: NEVER :warning: be used to run untrusted code on a system you care about!
A process running under maybe can still do serious damage to your system because only a handful of syscalls are blocked.
Currently, maybe is best thought of as an (alpha-quality) "what exactly will this command I typed myself do?" tool.

Installationsverfahren

Mit pip installieren

# pip install maybe

wie man es vielleicht benutzt

Fügen Sie einfach "vielleicht" hinzu, bevor Sie den Befehl ausführen

$ maybe COMMAND [ARGUMENT]...

Versuchen Sie es mit

$ ls
file1  file2  file3

** Datei löschen **

$ maybe rm -f ./*
maybe has prevented rm -f ./file1 ./file2 ./file3 from performing 3 file system operations:

  delete /home/*******/test/file1
  delete /home/*******/test/file2
  delete /home/*******/test/file3

Do you want to rerun rm -f ./file1 ./file2 ./file3 and permit these operations? [y/N] y
$

Fragt, ob Sie es wirklich wollen

** Verzeichnis / Datei hinzufügen **

$ maybe mkdir test ;maybe touch test/file1
maybe has prevented mkdir test from performing 1 file system operations:

  create directory /home/*******/test/test

Do you want to rerun mkdir test and permit these operations? [y/N] y
maybe has prevented touch test/file1 from performing 1 file system operations:

  create file /home/*******/test/test/file1

Do you want to rerun touch test/file1 and permit these operations? [y/N] y

** Starten eines Daemons **

# maybe /etc/init.d/docker start
Starting docker:
maybe has prevented /etc/init.d/docker start from performing 26 file system operations:

  write 33 bytes to /var/log/docker
  create file /root/nohup.out
  write 7 bytes to /var/log/docker
  write 35 bytes to /var/log/docker
  write 1 bytes to /var/log/docker
  create file /var/run/docker.pid
  write 4 bytes to /var/run/docker.pid
  write 91 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 5 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 7 bytes to /root/nohup.out
  write 6 bytes to /root/nohup.out
  write 7 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out

Do you want to rerun /etc/init.d/docker start and permit these operations? [y/N]

Recommended Posts

Überprüfen Sie im Voraus, was passiert, wenn der Befehl ausgeführt wird
Animieren Sie, was im Frequenzraum passiert, wenn die Nyquist-Frequenz überschritten wird
[Frage] Was passiert, wenn Sie% in Python verwenden?
[Python] Dinge, die überprüft werden müssen, wenn in Django ein Unicode-Dekodierungsfehler auftritt
Wenn der Variablenname mit dem Devaga-Befehl in pdb in Konflikt steht
Führen Sie externe Befehle mit Python aus
Den Typ mit Python beherrschen? (Wann ist eine Typprüfung durchzuführen?)
[AWS] Was tun, wenn der Ping-Befehl eine "Zeitüberschreitung" verursacht?
[Unterprozess] Wenn Sie ein anderes Python-Programm in Python-Code ausführen möchten
Was tun, wenn Sie den Papierkorb in Lubuntu 18.04 nicht verwenden können?
Was tun, wenn "Ich kann die Site nicht sehen !!!!"
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
Was passiert, wenn ich die Hyperparameter von SVM (RBF-Kernel) ändere?
Überprüfen Sie das Verhalten beim Zuweisen von Python
Im Python-Befehl zeigt Python auf Python3.8
Überprüfen Sie die Datenzusammenfassung in CASTable
Wenn der Knoten in rqt_graph verschwindet
Was tun, wenn das über Scrapy heruntergeladene Ergebnis auf Englisch ist?
So blenden Sie die Eingabeaufforderung aus, wenn Sie Python in Visual Studio 2015 ausführen
Was tun, wenn in der Anaconda-Umgebung die Warnung "Die Umgebung ist konsistent ..." angezeigt wird
Was passiert, wenn Sie in Python "A, B als C importieren"?
Wenn in boto3 der Fehler no attribute angezeigt wird, überprüfen Sie die Version
Wenn base.html in Django nicht aufgerufen werden kann
Überprüfen Sie das Verhalten des Zerstörers in Python
Verhalten bei der Rückkehr in den with-Block
Lernen Sie das Entwurfsmuster "Befehl" in Python
Überprüfen Sie, ob die URL in Python vorhanden ist
Was ist "Mahjong" in der Python-Bibliothek? ??
Benachrichtigen Sie Slack, wenn der Linux-Befehl beendet ist
Wenn das Ziel Ubuntu 16.04 in Ansible ist
Was passiert, wenn Ikura deine Worte spricht?
Verwenden Sie den Befehl, den Sie zuvor in IDLE eingegeben haben
Führen Sie den Befehl COPY mit Psycopg of Python aus
Wenn das vorherige Diagramm in Seaborn verbleibt
Sie suchen in der Befehlszeile nach commandlinefu
Was ich getan habe, als ich mit Lambda Python im Zeitlimit steckte
Implementieren Sie die Möglichkeit zu reservieren, was regelmäßig in der Django Todo-Liste passiert
Ein Memorandum zur Ausführung des Befehls! Sudo magic in Jupyter Notebook
Das erste, was überprüft werden muss, wenn in Django ein No Reverse Match auftritt
Was tun, wenn das Diagramm nicht auf dem Jupyter-Notizbuch (Ipython) angezeigt wird?
Was passiert mit dem Zugriffsprotokoll, wenn der Selenium-Webdriver automatisch auf die Website zugreift?