Debian系统上基于文件的套接字的惯用位置

递归忍者

我正在为C使用Unix Domain Socket的Debian系统编写一个守护进程

如果守护进程的工作目录是根目录,是否有惯用目录将套接字放置在文件系统上?

金发姑娘

它们通常在/tmp或其子目录中找到请注意,/tmp关闭时,其中的所有内容都会被擦除-不一定要删除它,只是要注意它可以被删除,因此,如果使用它,请检查是否每次都必须创建子目录。如果您想通过权限限制访问,则需要使用子目录,因为它/tmp是世界可读的。

/run/var/run(可能被符号链接在一起)的用法类似,但是通常将它们安装为tmpfs文件系统-意味着它们是在启动时创建的,并驻留在内存中,而不是在磁盘上(因此,请勿将其用作转储的地方)大量的数据)。对于运行时套接字,这可能是一个不错的选择。

请注意/run,和以及此处提到的所有其他目录(除外 /tmp)只能由root用户写入。对于系统进程,这很好,但是如果应用程序可以由非特权用户运行,则您要使用/tmp或在某个位置创建永久目录并对其设置权限,或者使用用户的$ HOME中的位置。

在安装过程中,可以在/usr/share(或/usr/local/share)中创建目录目录和内容在靴子中可能不会像在/tmp或中那样获得/run但是,正如jordanm在评论中指出的那样,它/usr可能是只读挂载的,并且linux文件系统层次结构指南反映了这一点当然,安装应用程序后,它不能是只读的,因此,如果您愿意在那里创建套接字,则可以将其保留并稍后使用(即使文件为只读)。

如果您希望跨引导的某个持久性区域不会被只读挂载,那/etc是一个相当安全的选择,因为它通常用于系统范围的配置和重新配置。OTOH,可能会有这样的系统,其中整个根文件系统下面的设备是只读的(例如,嵌入式系统),而/ tmp和/ run可以在另一个设备上运行(可能是:内存中的tmpfs)。因此,两个最可靠的策略似乎是:

  • 安装应用程序后,将套接字安装到永久位置。

  • 在运行时/run/var/run运行时创建目录,然后将套接字放在此处。

  • 只能在中执行相同的操作/tmp

第一个优点是无论如何,一旦安装了该应用程序,便可以使用一个套接字。第二个优点是它可能更有利于合理编程。第三个优点是不需要超级用户特权。如果以后改变主意,从一种实现切换到另一种实现应该很容易。

最后,随着BatchyX的出现,您至少应该为此提供一个配置选项,而不必选择默认值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Linux系统上/ proc / self / fd /套接字文件的含义是什么以及如何找到端口

来自分类Dev

在基于 Debian 的系统上使用 PHP 检查系统更新

来自分类Dev

套接字连接的惯用异常处理

来自分类Dev

将系统日志文件导入本地套接字

来自分类Dev

如何在基于Debian的系统上配置IPv6?

来自分类Dev

如何在基于Debian的系统上安装Sun JDK?

来自分类Dev

在基于 Debian 的系统上安装 orca (TAILS / Whonix)

来自分类Dev

如何取回默认的 Samba 配置文件(基于 Debian 的系统)?

来自分类Dev

http是基于套接字的吗?

来自分类Dev

Windows 文件系统上的 TPK 位置

来自分类Dev

什么是套接字文件?

来自分类Dev

接受的套接字上的“错误文件描述符”错误

来自分类Dev

接受的套接字上的“错误文件描述符”错误

来自分类Dev

如何通过Debian Squeeze上的Shell与Unix域套接字通信?

来自分类Dev

如何在Debian Testing / Stretch上为opendkim配置套接字

来自分类Dev

Debian文件系统权限

来自分类Dev

unix域套接字执行任何文件系统读写操作吗?

来自分类Dev

为什么 Write 系统调用没有向套接字文件写入任何内容?

来自分类Dev

将下载的文件放在文件系统上的位置(14.04)

来自分类Dev

Marklogic:文件系统上的REST查询选项文件位置

来自分类Dev

文件属性存储在实际文件系统上的什么位置?

来自分类Dev

通过基于套接字的网络设计分布式系统时,按消息建立连接的好方法吗?

来自分类Dev

在Windows上使用套接字

来自分类Dev

套接字上的音频c ++

来自分类Dev

Unix套接字上的ssh

来自分类Dev

套接字上的数据损坏

来自分类Dev

如何在基于Deb的系统上删除休眠文件

来自分类Dev

系统套接字激活标准输入

来自分类Dev

无法在系统服务中打开套接字

Related 相关文章

  1. 1

    Linux系统上/ proc / self / fd /套接字文件的含义是什么以及如何找到端口

  2. 2

    在基于 Debian 的系统上使用 PHP 检查系统更新

  3. 3

    套接字连接的惯用异常处理

  4. 4

    将系统日志文件导入本地套接字

  5. 5

    如何在基于Debian的系统上配置IPv6?

  6. 6

    如何在基于Debian的系统上安装Sun JDK?

  7. 7

    在基于 Debian 的系统上安装 orca (TAILS / Whonix)

  8. 8

    如何取回默认的 Samba 配置文件(基于 Debian 的系统)?

  9. 9

    http是基于套接字的吗?

  10. 10

    Windows 文件系统上的 TPK 位置

  11. 11

    什么是套接字文件?

  12. 12

    接受的套接字上的“错误文件描述符”错误

  13. 13

    接受的套接字上的“错误文件描述符”错误

  14. 14

    如何通过Debian Squeeze上的Shell与Unix域套接字通信?

  15. 15

    如何在Debian Testing / Stretch上为opendkim配置套接字

  16. 16

    Debian文件系统权限

  17. 17

    unix域套接字执行任何文件系统读写操作吗?

  18. 18

    为什么 Write 系统调用没有向套接字文件写入任何内容?

  19. 19

    将下载的文件放在文件系统上的位置(14.04)

  20. 20

    Marklogic:文件系统上的REST查询选项文件位置

  21. 21

    文件属性存储在实际文件系统上的什么位置?

  22. 22

    通过基于套接字的网络设计分布式系统时,按消息建立连接的好方法吗?

  23. 23

    在Windows上使用套接字

  24. 24

    套接字上的音频c ++

  25. 25

    Unix套接字上的ssh

  26. 26

    套接字上的数据损坏

  27. 27

    如何在基于Deb的系统上删除休眠文件

  28. 28

    系统套接字激活标准输入

  29. 29

    无法在系统服务中打开套接字

热门标签

归档