Ich meinte, auf einem System gesehen zu haben, dass ein Nicht-Root auf /tmp zugreift, aber das System den Zugriff transparent auf ein individuelles Unterverzeichnis von /tmp umleitet.
Mag sein, ist aber nicht trivial. Einfacher ist es in ~/.profile die Variablen $TMPDIR und $MOZ_TEMP zu setzen und in die Umgebung zu exportieren.
Die meisten Programme halten sich daran.
Das gänge z.B. in mittels /etc/profile.d/set_tmp_private.sh mit folgendem Inhalt:
# Erzeugen und Setzen des Temp-Verzeichnisses:
if [ ! -d "${HOME}/tmp" ]; then
mkdir "${HOME}/tmp";
chmod 700 "${HOME}/tmp";
fi
if [ -d "${HOME}/tmp" ]; then
export TMPDIR="${HOME}/tmp";
export MOZ_TMPDIR=${TMPDIR};
fi
Will man diese aber automatisch leeren gibt es Arbeit in /etc/tmpfiles.d/. (man tmpfiles.d
hilft weiter...) Tut man das nicht oder vergisst man das manuelle Löschen kann das Verzeichnis vollaufen.
Ohne guten Grund dazu, mehr zu tun, würde ich einfach auf eine vernünftigere umask als das häufige "lazy" 022 setzen.