Quel est ce dossier: /run/user/1000
sur mon système Fedora et que fait-il?
~ $ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.2G 20K 1.2G 1% /run/user/1000
EDIT: 7 juin 2019.
Mes deux réponses ne sont pas d'accord sur le répertoire ou l'emplacement des fichiers stockés à cet endroit:
Patrick :
Avant
systemd
, ces applications stockaient généralement leurs fichiers dans/tmp
.
Et encore ici:
/tmp
était le seul emplacement spécifié par leFHS
qui est local et accessible en écriture à tous les utilisateurs.
Braiam :
Les buts de ce répertoire étaient autrefois servis par
/var/run
. En général, les programmes peuvent continuer à utiliser/var/run
pour satisfaire aux exigences énoncées pour/run
à des fins de compatibilité descendante.
Et encore ici:
Programmes qui ont migré pour utiliser
/run
devrait cesser d'utiliser/var/run
, sauf indication contraire dans la section sur/var/run
.
/run/user/1000
, pourquoi n'y a-t-il aucune mention dans les deux réponses de ce que l'autre dit sur le répertoire utilisé avant /run/user
./run/user/$uid
est créé par pam_systemd
et utilisé pour stocker les fichiers utilisés par les processus en cours d'exécution pour cet utilisateur. Il peut s'agir de choses telles que votre démon de trousseau de clés, pulseaudio, etc.
Avant systemd , ces applications stockaient généralement leurs fichiers dans /tmp
. Ils n'ont pas pu utiliser un emplacement dans /home/$user
car les répertoires personnels sont souvent montés sur des systèmes de fichiers réseau et ces fichiers ne doivent pas être partagés entre les hôtes. /tmp
était le seul emplacement spécifié par FHS qui est local et accessible en écriture à tous les utilisateurs.
Cependant, le stockage de tous ces fichiers dans /tmp
est problématique car /tmp
est accessible en écriture par tout le monde, et bien que vous puissiez changer la propriété et le mode des fichiers en cours de création, il est plus difficile de travailler avec.
Systemd est donc arrivé et a créé /run/user/$uid
. Ce répertoire est local au système et uniquement accessible par l'utilisateur cible. Ainsi, les applications qui cherchent à stocker leurs fichiers localement n'ont plus à se soucier du contrôle d'accès.
Il garde aussi les choses agréables et organisées. Lorsqu'un utilisateur se déconnecte et qu'il ne reste aucune session active, pam_systemd
effacera le /run/user/$uid
répertoire sorti. Avec divers fichiers dispersés autour de /tmp
, tu ne pouvais pas faire ça.
Selon selon la dernière version de FHS (File Hierarchy Standard) ,/run:
Ce répertoire contient des informations sur le système décrivant le système depuis son démarrage. Les fichiers sous ce répertoire doivent être effacés (supprimés ou tronqués selon le cas) au début du processus de démarrage.
Les buts de ce répertoire étaient autrefois servis par/var/run. En général, les programmes peuvent continuer à utiliser/var/run pour satisfaire aux exigences définies pour/run à des fins de compatibilité descendante. Les programmes qui ont migré vers/run doivent cesser d'utiliser/var/run, sauf indication contraire dans la section/var/run.
Les programmes peuvent avoir un sous-répertoire de/run; ceci est encouragé pour les programmes qui utilisent plusieurs fichiers d'exécution. Les utilisateurs peuvent également avoir un sous-répertoire de/run, bien que des précautions doivent être prises pour limiter de manière appropriée les droits d'accès afin d'empêcher l'utilisation non autorisée de/run lui-même et d'autres sous-répertoires.
Dans le cas du /run/user
répertoire, est utilisé par les différents services utilisateurs, comme dconf, Pulse, systemd, etc. qui ont besoin d'une place pour leurs fichiers de verrouillage et leurs sockets. Il y a autant de répertoires que d'utilisateurs différents UID sont enregistrés dans le système.