我有点困惑,因为从一个 Linux 发行版到另一个 Linux 发行版,包管理器有时会配置进程以在/tmp
或 中创建套接字文件/var/run/%process%
,但我认为在开源项目中,您将应用程序配置为引用 中的套接字是一种标准/tmp
,就好像要规范这两个选项一样。
我也选择分发项目的配置以引用 中的套接字/tmp
。现在我想知道,为了不覆盖默认值,如果我想将套接字从 链接/var/run
到/tmp
,是否有安全的方法来做到这一点?
我问这个问题主要是因为我不希望有人处理虚假的应用程序错误,因为/tmp
目录被清除干净并且套接字链接不再存在。
答案1
/tmp
对于系统守护进程来说,不再是“标准” 0;唯一广泛使用1且仍将套接字放在那里的程序是 Xorg。所有其他守护进程都使用/run
或/var/run
来实现这一点 – 正是为了避免诸如定期清理 /tmp 或可能与用户创建的套接字发生名称冲突之类的问题。
没有标准的方法来清理/tmp
或排除上述清理工作中的文件。
0文件系统层次标准(FHS)从未定义/tmp
过其他任何东西,但是暂时的文件。
1据我所知。