Как безопасно работать с временными файлами в Bash

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

bashmktempвременные файлы

👁 Часто в Bash скриптах временные файлы создаются в /tmp, но не удаляются, могут конфликтовать между процессами или даже стать уязвимостью. Есть простой способ создать надёжный временный файл, который удалится сам.

📝 Пример кода:

tmpfile=$(mktemp)
trap 'rm -f "$tmpfile"' EXIT

echo "Some data" > "$tmpfile"
# делаем что-то с файлом
cat "$tmpfile"
# файл удалится при выходе из скрипта

📌 Что тут происходит:

  • mktemp создаёт уникальный временный файл в /tmp
  • trap гарантирует, что файл удалится всегда, даже если скрипт упадёт
  • Использование временного файла изолировано и безопасно
  • Можно использовать внутри пайплайнов, cron'ов, CI/CD

🔎 Так можно безопасно работать с данными, которые нельзя держать в памяти — логами, JSON-ами, секретами и т.п. Никогда не создавайте временные файлы руками типа /tmp/tmp.txt — это небезопасно и может привести к коллизиям или уязвимостям.

❗️ Внедряйте такой шаблон в каждый скрипт, где есть работа с файлами — это продакшен-стандарт.

tags: #bash #полезно #файлы

❤️ @recura_tech

Скриншот карточки RECURA с примером Bash: тёмный фон, консольный код с mktemp и trap, демонстрация безопасной работы с временными файлами.
Визуальная карточка: пример использования mktemp и trap для временных файлов.

Читайте так же