web-dev-qa-db-fra.com

Qu'est-ce que ce dossier / run / user / 1000?

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 le FHS 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.

Alors, lequel est le père de /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.

93
somethingSomething

/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.

108
Patrick

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.

12
Braiam