Systemd: Special user nobody configured原因与解决方法
Systemd为了避免在进程守护的时候,直接以root权限运行程序,通常会使用User=nobody
执行。但是这并不是完全的安全,于是在较新的版本中加入了DynamicUser
,在使用动态用户执行程序的时候,通常还包含了ProtectSystem=strict
与ProtectHome=read-only
两个内容。这样既可以保护系统也可以避免文件被修改。
当系统出现Special user nobody configured
时,只要将User=nobody
修改为下述:
DynamicUser=yes
随后需要重新加载systemd和重启对应的服务:
systemctl daemon-reload
systemctl restart xxxx # 此处xxxx为需要重启的服务