Wenn ich mit der bash spiele und ich weiß nicht genau was ich da tue, dann würde ich gerne verhindern dass meine Zeilen irgendwie den Inhalt meiner Festplatte anrühren. Mir fällt da ein: Virtuelle Maschine. Aber gibt es eine elegantere Lösung die weniger Rechenpower benötigt?
safe bash scripting / sichere Umgebung fürs bash scripting, terminal scripting / Datenverlust
Anmeldungsdatum: Beiträge: 1077 |
|
||||
Moderator, Webteam
Anmeldungsdatum: Beiträge: 5334 |
Container, overlay, chroot, ... |
||||
Anmeldungsdatum: Beiträge: 12067 |
Leg dir einen separaten Nutzer an. Gib ihm keine Schreibrechte in Ordnern ausserhalb seines Homeverzeichnisses und spiele. Für systemweite Änderungen ist die VM immer vorzuziehen. |
||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 1077 |
Ich glaube der einzig sichere Weg geht über vmware oder virualbox. Mein Homeverzeichnis möchte ich ja auch schützen und auch während ich bastel drauf Zugriff haben. vm hab ich ja schon am laufen, sebix Vorschläge sind interessant, aber ich hab noch keine Berührung mit denen gemacht: Mit container meint sebix wohl vm. oder https://duckduckgo.com/?q=ubuntu+container&atb=v314-1&ia=web overlay https://wiki.ubuntuusers.de/overlayroot/ Chroot https://wiki.ubuntuusers.de/chroot/ Angenommen ich habe auf Ubuntu vm mit xp, und ich teste unsicheren Code, dann schätze ich mal ist es sehr sehr unwahrscheinlich dass Malware auf Linux Zugriff hätte, müsste ja genau drauf maßgeschneidert sein. |
||||
Moderator, Webteam
Anmeldungsdatum: Beiträge: 5334 |
zB Docker, Vagrant (zB mit libvirt) etc. zB https://app.vagrantup.com/ubuntu/boxes/focal64 vagrant init ubuntu/focal64 vagrant up vagrant ssh |
||||
Anmeldungsdatum: Beiträge: 17552 Wohnort: Berlin |
Wie viel Rechenpower benötigt denn Deine Virtuelle Maschine? Bei mir läuft gerade eine Virtualbox, xubuntu in xubuntu mit Editor und 4, 5 xterminals mit bash, alles relativ idle, und htop meldet < 1GB RAM usage, CPU usage wechselt zwischen 5 und 10% (bei 8 CPUs, also 800%). Für Shellskripte brauchst Du allerdings nur eine sehr viel kleinere VM, keine grafische Oberfläche, sofern Du mit einem Texteditor auskommst wie mcedit, vim, nano, ... Die manpage für systemd-nspawn zeigt mehrere Beispiele, etwa Nr. 3 am Ende der Manpage (hier eine Ausschnitt meiner history):
sprich, es hat ca. 3 Minuten gedauert, die virtuelle Maschine auf einem ca. 5 Jahre alten Business-Laptop zu installieren mit einer Internetbandbreite von 6Mbit/s. Die virtuelle Maschine zu starten dauert weniger als 1s. RAM/CPU unter der Darstellungsgrenze (0,1%). Ich habe versucht sie nicht als root zu installieren und nicht als root zu starten - beides ging nicht. Jetzt lag sie in meinem Userdir (mit < 600 MB) aber ich habe den Ordner in den root-Ordner verschoben - wenn die Files darin eh alle root gehören, stören sie im Userverzeichnis nur.
Als root aus dem /root -Ordner gestartet macht das aber nichts aus. Mit
Beispiel 6 geht nur, wenn Dein Filesystem btrfs ist, soweit ich weiß, und - lies Dir die Manpage durch - nach Beendigung der VM sind alle Sachen wieder weg. Vorteil: Es arbeitet an einem Snapshot Deines Systems, d.h. Du musst keine Testdateien erzeugen, sondern probierst Deine Scripte an Schnappschüssen der echten Dateien aus. Wie Du aber jetzt ein funktionierendes Script ins echte Leben transferierst? Bei kl. Dateien wahrscheinlich am leichtesten mit copy/paste, ansonsten mit einem Filestorage im Netz vielleicht und womöglich kann man mit ssh Dateien zum host übertragen - evtl. muss man aber für den Netzwerkverkehr erst einiges einrichten - habe es noch nicht probiert. |