回答:
ルートが所有する必要がありますが、1つの重要な要素を持つ誰でも読み取りおよび書き込み可能である必要があります。追加専用ディレクトリにするには、ディレクトリのスティッキービットを設定する必要があります。つまり、/tmp
ディレクトリ内のファイルを所有し、読み取り/書き込み権限を持つユーザーのみがファイルを削除または名前変更できます。sticky(8)
スティッキービットの詳細については、manページを参照してください。
/tmp
通常はnoexecをマウントする方が安全なので、悪意のあるスクリプトを挿入して実行することはできません。
誰もファイルを所有できませんか?どのOSを使用していますか?
Linuxでは、/tmp
rootが所有し、誰でも書き込み可能で、スティッキービットが設定されています。つまり、誰でもファイルを作成できますが、所有者(またはルート)だけがそれらを削除できます。ただし、ほとんどのUnixシステムでは同様のはずです。
はい、ルートが所有する必要がありますが、他のプログラムが一時ディレクトリとして使用し、そこで作成されたファイルが作成者が所有できるように、スティッキービットで世界的に書き込み可能にする必要があります。最近の標準的な慣行についてはよくわかりませんが、/ tmpをルートパーティションの一部ではなく、独自のパーティションにすることをお勧めします。