Skip to content

Socket 配置

Accept

  • 类型:布尔值

如果配置为true,sysmaster会为每个连接创建service实体,只有连接对应的fd会传递给service实体;如果配置为false,sysmaster会将所有socket fd传递给service,并由该service处理所有后续的连接。默认为false。如果配置为true,需要配合模板服务一起使用。

注意: 该配置对Datagram、FIFO类型的socket无效。

ExecStartPre、ExecStartPost、ExecStopPre、ExecStopPost

  • 类型:字符串

服务在不同的启动阶段执行的命令。配置多条命令时以;隔开。

注意: 为了避免;解析为命令参数,;作为分隔符使用时需要在前后添加空格。详情参考:service说明文档中对应说明

FlushPending

  • 类型:布尔值

该配置仅在Accept配置为false时有效,决定在socket激活对应的service前,是否清空socket缓冲区。默认为false。

注意: 如果配置为flase,而激活的service又不主动去读取socket缓冲区的内容,会导致service将持续被激活。

ListenStream、ListenDatagram、ListenSequentialPacket

  • 类型:字符串

配置SOCK_STREAM、SOCK_DGRAM套接子的监听地址, 支持以下的配置格式。

如果地址以“/”开头, 则创建一个UNIX套接字(AF_UNIX)。

如果地址以“@”开头, 则创建一个抽象空间的UNIX套接字(AF_UNIX)。

如果地址是一个数值类型,则会视为一个IPv6套接子的端口号, 如果不支持IPv6, 则创建一个IPv4套接子的端口号。

如果地址是“a.b.c.d:x”格式, 则绑定IPv4套接子的地址“a.b.c.d”的"x"端口。

如果地址是“[a]:x”, 则绑定IPv6套接子的地址"a"端口“x”。

SOCK_SEQPACKET只有在Unix套接子时才有效。

  • 类型:字符串

监听套接子类型为netlink, 配置格式为"{name} {group ID}"。

当前支持的name为route, inet-diag, selinux, iscsi, audit, fib-lookup, netfilter, ip6-fw, dnrtmsg, kobject_ uevent、scsitransport、rdma等。

ListenFIFO

  • 类型:字符串

创建并监听用户配置的FIFO文件,详见:fifo(7),仅允许配置为一个绝对路径。

ListenSpecial

  • 类型:字符串

监听一个特殊文件,仅允许配置为绝对路径。特殊文件指:字符设备、/proc、/sys目录下的文件。

PassPacketInfo

  • 类型:布尔值

表示是否允许AF_UNIX套接子接受对端进程在辅助消息中发送证书, 设置的是IP_PKTINFO套接子选项的值, 默认为false。

PassCredentials

  • 类型:布尔值

表示是否允许AF_UNIX套接子接受对端进程在辅助消息中发送证书, 设置的是SO_PASSCRED套接子选项的值, 默认为false。

PassSecurity

  • 类型:布尔值

表示是否允许AF_UNIX套接子接受对端进程在辅助消息中发送安全上下文,设置的是SO_PASSSEC套接子选项的值,默认为false。

ReceiveBuffer、SendBuffer

  • 类型:数值

设置socket套接子的receive和send的buffer大小。

RemoveOnStop

  • 类型:布尔值

配置在socket单元停止后是否删除建立的socket文件,以及由Symlinks配置生成的软链接。配置为true时,删除;配置为false时,不删除。默认为false

SocketMode

  • 类型:八进制的数值

设置文件的访问模式,当为unix套接字或FIFO文件时有效,默认值为0o666。

注意: SocketMode仅支持八进制,在配置时需要添加0o前缀。

SocketUser、SocketGroup

  • 类型:字符串

设置文件所属的用户和用户组,当为unix套接子或为FIFO类型的文件时有效,默认值为空字符串,支持配置为用户名或对应的用户id。

  • 类型:字符串

AF_UNIXFIFO类型的socket创建软链接,仅支持配置为绝对路径。允许用户配置;隔开的多个路径。

注意: 如果使用该配置,必须确保有且仅有一个AF_UNXIFIFO的socket路径,否则socket虽然会启动,但软链接并不会创建出来。


Last update: September 27, 2023
Created: April 7, 2023