/run/user/$uid
je vytvořen pam_systemd
a používá se pro ukládání souborů používaných spuštěnými procesy pro daného uživatele. Mohou to být věci, jako je váš démon klíčenek, pulseaudio atd.
Před systemd tyto aplikace obvykle ukládaly své soubory do /tmp
. Nemohli použít umístění v /home/$user
protože domovské adresáře jsou často připojeny přes síťové souborové systémy a tyto soubory by neměly být sdíleny mezi hostiteli. /tmp
bylo jediné umístění určené FHS, které je místní a zapisovatelné všemi uživateli.
Všechny tyto soubory však uložíte do /tmp
je problematické jako /tmp
je zapisovatelný pro každého, a přestože můžete změnit vlastnictví a režim vytvářených souborů, je obtížnější s ním pracovat.
Tak přišel systemd a vytvořil /run/user/$uid
. Tento adresář je v systému lokální a je přístupný pouze cílovému uživateli. Aplikace, které chtějí ukládat své soubory lokálně, se tak již nemusí starat o řízení přístupu.
Také udržuje věci pěkné a organizované. Když se uživatel odhlásí a nezůstanou žádné aktivní relace, pam_systemd
vymaže /run/user/$uid
adresář ven. S různými soubory roztroušenými kolem /tmp
, to jste nemohli udělat.
Podle nejnovější verze FHS (File Hierarchy Standard) /run:
Tento adresář obsahuje data systémových informací popisujících systém od jeho zavedení. Soubory v tomto adresáři musí být vymazány (odstraněny nebo zkráceny podle potřeby) na začátku procesu zavádění.
Účelům tohoto adresáře kdysi sloužil /var/run. Obecně mohou programy nadále používat /var/run ke splnění požadavků stanovených pro /run pro účely zpětné kompatibility. Programy, které migrovaly na používání /run, by měly přestat používat /var/run, s výjimkou případů uvedených v sekci /var/run.
Programy mohou mít podadresář /run; toto se doporučuje u programů, které používají více než jeden soubor za běhu. Uživatelé mohou mít také podadresář /run, i když je třeba dbát na vhodné omezení přístupových práv, aby se zabránilo neoprávněnému použití samotného /run a dalších podadresářů.
V případě /run/user
adresář, používají různé uživatelské služby, jako je dconf, pulse, systemd atd., které potřebují místo pro své soubory zámku a zásuvky. Existuje tolik adresářů, kolik UID různých uživatelů je přihlášeno v systému.