/tmp
e /var/tmp
eram locais historicamente conhecidos onde os programas podiam armazenar arquivos temporários. No entanto, para funcionar adequadamente, eles precisam ser escritos mundialmente (e sticky ). Isso funciona, mas também abre uma ampla variedade de possíveis problemas de segurança com um programa gravando arquivos temporários que outro programa lerá, fazendo com que o segundo programa se comporte de maneira inesperada e indesejável.
A primeira "correção" para isso foi ter todos os programas gravando arquivos temporários para usar uma chamada do sistema para gerar nomes de arquivos aleatórios . Esse tipo de trabalho funciona, mas depende do (1) programa que está realmente usando; (2) ter um RNG seguro; e (3) sorte.
Há uma mudança no Projeto Fedora para que os serviços do sistema usem um diretório temporário particular independente, acessível somente a esse serviço. Cada programa vê e usa /tmp
, mas eles são, na verdade, montagens de ligações com namespaces gerenciadas pelo sistema . Solução muito inteligente, e uma que eu suspeito que vai começar a aparecer em outras distribuições Linux em breve.