[LINUX] [Bash] Erstellen eines sicheren und vielseitigen temporären Verzeichnisses
Einführung
- Bei der temporären Verzeichniserstellung, die normalerweise in der Shell verwendet wird, wurden die folgenden Punkte verbessert.
- Doppelte Namen können aufgrund direkter Spezifikationen wie "mkdir / tmp / path" auftreten.
- Es ist nicht sicherheitsrelevant, da es direkt angegeben wird.
- Es ist notwendig, den Namen eindeutig zu machen und Relevanz hinzuzufügen, um ihn benutzerfreundlich und vielseitig zu gestalten.
- Daher werden wir dieses Mal beschreiben, wie ein einzigartiges, sicheres und vielseitiges tmp-Verzeichnis erstellt wird.
Ergebnis
- Schreiben Sie daher zuerst den folgenden Inhalt in die vorbereitete Shell-Datei.
index.sh
#!/bin/bash
basepath=$(basename $0)
timestamp=$(date +%Y%m%d%H%M%S)
tmpd=$(mktemp -dt "$basepath.$timestamp.$$")/
echo $tmpd
#Ausgabe
# $TMPDIR/index.sh.20200919152709.XXXX.XXXXX/
- Führen Sie es nach dem Schreiben mehrmals aus, überprüfen Sie die Erstellung des Ausgabepfads und der nicht doppelten Namen und schließen Sie den Vorgang ab.
Inhalte verarbeiten
Verwendung des Befehls mktemp
- Mit dem Befehl ** mktemp ** zum Erstellen eines Verzeichnisses wird automatisch eine Datei oder ein Verzeichnis der Größe 0 erstellt.
- Klicken Sie hier, um Details zur Verwendung von mktemp [Referenz] zu erhalten (https://linuxjm.osdn.jp/html/GNU_coreutils/man1/mktemp.1.html).
Verwendung von Vorlagenoptionen
- Verwenden Sie beim Erstellen mit mktemp die Option t (Vorlage), die für diesen Befehl spezifisch ist.
- Dadurch wird es automatisch in dem in
$ TMPDIR
festgelegten Pfad erstellt, ohne den Verzeichnisnamen zu beschreiben.
- ** * Wenn Sie nach dem eingestellten tmp-Speicherort suchen, suchen Sie mit
echo $ TMPDIR
**
- ** * Wenn nicht gesetzt, direkt mit
-p
angeben oder in / tmp
speichern **
Fügen Sie dem Namen verwandte Elemente hinzu
- Fügen Sie etwas hinzu, das mit dem Namen zusammenhängt, um die Verwendung bei der Verarbeitung im Programm zu vereinfachen.
――Die mindestens hinzugefügten Elemente lauten wie folgt.
- Name des Ausführungspfads
- Zeitstempel (Zeit)
Zusammenfassung
―― Aus den oben genannten Gründen verfügt Linux standardmäßig über viele Befehle zum Lösen von Problemen. Daher habe ich erneut bestätigt, wie wichtig es ist, sich auch nur einen dieser Befehle zu merken und zu kombinieren.
――Obwohl die Sicherheit berücksichtigt werden muss, wurde mir gleichzeitig klar, wie wichtig es ist, sich der Benutzerfreundlichkeit und der Vielseitigkeit der Verarbeitung im Programm bewusst zu sein.
Referenz