我已按照以下说明为 rspamd 配置 Pyzor:https://www.rspamd.com/doc/modules/external_services.html#pyzor-specific-details
这些说明还包含一些用于套接字和服务的 systemd 配置。
Pyzor 现在是一个套接字激活的服务,在每次连接时启动。问题是 systemd 会为每次运行创建一个新目录:
drw------- (…) 08:30 [email protected]:5953-127.0.0.1:60656.service
drw------- (…) 08:30 [email protected]:5953-127.0.0.1:60662.service
drw------- (…) 08:30 [email protected]:5953-127.0.0.1:60676.service
drw------- (…) 08:30 [email protected]:5953-127.0.0.1:60684.service
drw------- (…) 08:30 [email protected]:5953-127.0.0.1:60694.service
drw------- (…) 08:30 [email protected]:5953-127.0.0.1:60706.service
这些目录永远不会被删除,并且几天后/run
就会耗尽 inode,从而阻止创建新的 Pyzor 进程或具有隔离名称空间的任何其他进程。
如何防止这种情况或重新配置设备以在一段时间后删除这些目录?
插座单元:
# /usr/lib/systemd/system/pyzor.socket
[Unit]
Description=Pyzor socket
[Socket]
ListenStream=127.0.0.1:5953
Accept=yes
[Install]
WantedBy=sockets.target
服务单位:
# /usr/lib/systemd/system/[email protected]
[Unit]
Description=Pyzor Socket Service
Requires=pyzor.socket
[Service]
Type=simple
ExecStart=-/usr/bin/pyzor check
StandardInput=socket
StandardError=journal
TimeoutStopSec=10
User=_rspamd
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
PrivateUsers=true
ProtectControlGroups=true
ProtectHome=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectSystem=strict
[Install]
WantedBy=multi-user.target