/run/user/1000 这个文件夹是什么?

/run/user/1000 这个文件夹是什么?

这个文件夹是什么:/run/user/1000在我的 Fedora 系统上,它有什么作用?

~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.2G   20K  1.2G   1% /run/user/1000

编辑:2019 年 6 月 7 日。

我的两个答案对于这个地方存储的文件所在的目录或位置不一致:

帕特里克:

此前systemd,这些应用程序通常将其文件存储在/tmp.

再次在这里:

/tmp是 指定的唯一位置,FHS该位置是本地的,并且所有用户都可写。

布赖安:

该目录的用途曾经是由/var/run.一般来说,程序可以继续使用来满足出于向后兼容性的目的而/var/run设定的要求。/run

再次在这里:

已迁移到使用的程序/run应停止使用 /var/run,除非有关 的部分中另有说明/var/run

那么哪一个是 的父亲/run/user/1000,为什么两个答案中都没有提到另一个关于之前使用的目录的说法/run/user

答案1

/run/user/$uid是由创建的pam_systemd并用于存储该用户运行进程所使用的文件。这些可能是您的密钥环守护程序、pulseaudio 等。

之前系统,这些应用程序通常将其文件存储在/tmp.他们无法使用 中的位置,/home/$user因为主目录通常通过网络文件系统安装,并且这些文件不应在主机之间共享。/tmp是唯一指定的位置FHS这是本地的,所有用户都可以写入。

然而,存储所有这些文件/tmp是有问题的,因为/tmp每个人都可以写入,并且虽然您可以更改正在创建的文件的所有权和模式,但使用起来更加困难。

所以 systemd 出现并创建了/run/user/$uid.该目录位于系统本地,只能由目标用户访问。因此,希望在本地存储文件的应用程序不再需要担心访问控制。
它还可以让事情变得美好且井井有条。当用户注销并且没有活动会话剩余时,pam_systemd将清除该/run/user/$uid目录。由于各种文件分散在各处/tmp,您无法做到这一点。

答案2

根据FHS(文件层次结构标准)最新草案, /跑步:

该目录包含描述系统自启动以来的系统信息数据。在启动过程开始时,必须清除(根据需要删除或截断)此目录下的文件。

该目录的用途曾经是由 /var/run 提供的。一般来说,程序可以继续使用 /var/run 来满足为 /run 设定的要求,以实现向后兼容性。已迁移到使用 /run 的程序应停止使用 /var/run,除非有关 /var/run 的部分中另有说明。

程序可能有 /run 子目录;对于使用多个运行时文件的程序,鼓励这样做。用户还可能拥有 /run 子目录,但必须注意适当限制访问权限,以防止未经授权使用 /run 本身和其他子目录。

就目录而言/run/user,由不同的用户服务使用,例如 dconf、pulse、systemd 等,它们需要一个位置来放置其锁定文件和套接字。系统中记录的不同用户 UID 的目录数量相同。

相关内容