启动时 CentOS 7 服务用户

启动时 CentOS 7 服务用户

我正在尝试noip Linux 客户端在运行 CentOS 7 的系统上启动时运行。为此,我尝试使用 /usr/lib/systemd/system/noip.service 中的以下文件为其配置服务

[Unit]
Description=Noip
User=root

[Service]
Type=forking
ExecStart=/usr/local/bin/noip2

[Install]
WantedBy=multi-user.target

我运行systemctl enable noip并重新启动系统进行测试。运行时systemctl status sknoip我得到以下信息:

● noip.service - Noip
   Loaded: loaded (/usr/lib/systemd/system/noip.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-12-21 14:03:21 GMT; 1min 13s ago
  Process: 853 ExecStart=/usr/local/bin/noip2 (code=exited, status=0/SUCCESS)
 Main PID: 867 (noip2)
   CGroup: /system.slice/noip.service
           └─867 /usr/local/bin/noip2

Dec 21 14:03:20 server systemd[1]: Starting Noip...
Dec 21 14:03:20 server noip2[867]: v2.1.9 daemon started with NAT enabled
Dec 21 14:03:21 server noip2[867]: Can't gethostbyname for dynupdate.no-ip.com
Dec 21 14:03:21 server noip2[867]: Can't get our visible IP address from ip1.dynupdate.no-ip.com
Dec 21 14:03:21 server systemd[1]: Started Noip.

尽管它说正在运行,但它并没有更新 noip ip 地址,我认为这可能与访问 /usr/local/etc/no-ip2.conf 有关,但我尝试将其设置为 777,并在服务文件中设置用户并将此文件的所有者设置为该用户,但没有成功。

当我以 root 身份登录时停止并启动服务时,它可以正常启动并执行应有的操作 - 所以我猜想这与权限有关?有什么想法吗?

提前致谢,

斯图尔特

答案1

网络启动后,您需要运行服务(Noip)。
请尝试以下操作:

[Unit]
Wants=network-online.target
After=network-online.target

参考:

https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/

相关内容