14.11. Bezpieczne pliki tymczasowe

Problem

Chcemy utworzyć plik tymczasowy, wiedząc, jakie konsekwencje ma dla systemu zabezpieczeń zastosowanie łatwej do przewidzenia nazwy.

Rozwiązanie

Zazwyczaj łatwym i dostatecznie bezpiecznym rozwiązaniem jest wykorzystanie zmiennej $RANDOM. Oto przykład:

# Zmienna $TMP musi być zdefiniowana [ -n "$TMP" ] || TMP='/tmp' # Wykorzystanie wartości losowych do wyznaczenia nazwy katalogu tymczasowego until [ -n "$temp_dir" -a ! -d "$temp_dir" ]; do temp_dir="/tmp/opisowy_prefiks.${RANDOM}${RANDOM}${RANDOM}" done mkdir -p -m 0700 $temp_dir \ || { echo "BŁĄD: Nie można utworzyć katalogu tymczasowego '$temp_dir': $?"; exit 100; } # Wykorzystanie wartości losowych do wyznaczenia nazwy pliku tymczasowego until [ -n "$temp_file" ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.