テンポラリファイルを安全に処理する

注意して書くことで、安全になるらしい。
7-1. シンボリックリンクの悪用とか7-8. テンポラリファイルから情報が漏れるあたりで、C 言語で書かれたプログラムを題材におおよその問題について解説されている。

perl の場合

標準配布のライブラリに含まれるモジュールを使って同様のことができる。

シェルスクリプトの場合

OpenBSD 起源の tempfile(1)、mktemp(1) というコマンドがあって、Debian であれば debianutils パッケージに含まれている。debianutils は essential で普通は入っているものなので、Debian パッケージの管理スクリプトで使う分には問題なさそう*1

これが使えない時は、mkdir で /tmp にディレクトリを作ることで罠がないか判定する、という手が使える。普段使いのスクリプトならこっちかな。

*1:他の distro にあるかどうかは知らない