From Fedora Project Wiki

Feature Name

Polyinstantiated Temporary Directories


Polyinstatiate temporary directories for different users to avoid risks comming with insecure tempfile creation. Targetted directories are at least /tmp, /var/tmp and maybe /dev/shm.


  • email: <your email address so we can contact you, invite you to meetings, etc.>

Current status

  • Targeted release: Fedora 41
  • Last updated: 2009-05-29
  • Percentage of completion: XX%

Detailed Description

pam_namespace can be used to bind mount separate directories for each user at login time to the targetted directories. An example setup is deployed at the fedorapeople server.

Benefit to Fedora

It increases the security of a system, because it mitigates insecure tempfile attacks, because users can only access their own temporary directories.


It has to be decided which directories should be polyinstantiated and a configuration for pam_namespace needs to be created. system-config-authentication should get support to enable/disable and configurate this.


X creates sockets in /tmp/.X11-unix/ which would be better created somewhere in /var/run. With polyinstatntiated /tmp, this is currently causing problems. An ugly workaround is to synchronize these sockets somehow like it is described in an IBM developerworks article.

Bug Report: #5031781 - /tmp/.X11-unix /tmp/.X0-lock FHS violation / pam_namespace conflict

How To Test

Special Requirements


System Preparation


Testing Actions

Login with two user accounts, create a files in each targetted directory as the first user and try to access the files as the other user.

Expected Results

The user should not see or be able to access the created files in the targetted diretories.

User Experience

Users will see different contents at the targetted directories, which may irritate them when they try to exchange files between two user accounts. On the other hand they are protected in case they create a temporary file with insecure permissions or with a guessable filename.


Contingency Plan


Release Notes

Comments and Discussion