/run/user/$uid
é criado por pam_systemd
e é usado para armazenar arquivos usados pela execução processos para esse usuário. Estas podem ser coisas como o daemon do seu anel de chaves, pulseaudio, etc.
Antes do systemd , esses aplicativos normalmente armazenavam seus arquivos em /tmp
. Eles não podiam usar um local em /home/$user
, já que os diretórios base são montados em sistemas de arquivos de rede, e esses arquivos não devem ser compartilhados entre os hosts. /tmp
foi o único local especificado pelo FHS que é local e gravável por todos os usuários.
No entanto, armazenar todos esses arquivos em /tmp
é problemático, pois /tmp
é gravável para todos e, embora você possa alterar a propriedade & modo nos arquivos que estão sendo criados, é mais difícil trabalhar com ele.
Então o systemd apareceu e criou o /run/user/$uid
. Este diretório é local para o sistema e somente acessível pelo usuário de destino. Portanto, os aplicativos que desejam armazenar seus arquivos localmente não precisam mais se preocupar com o controle de acesso.
Também mantém as coisas boas e organizadas. Quando um usuário efetua logout e nenhuma sessão ativa permanece, pam_systemd
limpará o diretório /run/user/$uid
. Com vários arquivos espalhados em torno de /tmp
, você não poderia fazer isso.