如何重新启动在“nobody”用户下运行的 openvpn 服务(或任何服务)?

sum*_*ade 8 server openvpn services

在我的 Ubuntu 16.04 服务器上,我以用户身份运行 OpenVPN 服务nobody。例如,如何重新启动服务或重新加载服务的配置文件systemctl

一个openvpn进程正在运行,但我不知道如何访问它。

310 nobody    20   0   44440   3184   1968 S  0.0  0.3   1263:30 openvpn
Run Code Online (Sandbox Code Playgroud)

该命令su nobody不起作用,因为未设置密码。有替代方案吗?

小智 10

试试这个,我注意到这restart对我不起作用。

sudo systemctl stop openvpn@server
sudo systemctl enable openvpn@server.service
sudo systemctl start openvpn@server
Run Code Online (Sandbox Code Playgroud)


小智 7

OpenVPN 是systemd. 这些服务被命名为。因此,您应该使用以下命令重新启动 实例:openvpn@config.service/etc/openvpn/myvpn.conf

systemctl restart openvpn@ myvpn .service


小智 5

进入该目录并查看文件:

sudo su

cd /etc/systemd/system/multi-user.target.wants

ls
Run Code Online (Sandbox Code Playgroud)

应该有一个以下格式的文件(根据 openvpn 版本可能会有所不同):

openvpn-server@server.service

或者

openvpn@server.service

如果您看到这种格式的多个文件,那是因为您之前可能使用过以下代码:

sudo systemctl enable openvpn-something@server.service
Run Code Online (Sandbox Code Playgroud)

这个自制文件(由enable创建)不执行任何操作,稍后可以将其删除。但现在您应该会发现该命令可以很好地使用此命令,而不会导致任何错误:

sudo systemctl stop <openvpn-server@server.service>
sudo systemctl start <openvpn-server@server.service> 
Run Code Online (Sandbox Code Playgroud)

并替换为目录中此格式的所有文件(以 openvpn 开头并以 .service 结尾)。真正停止和启动 openvpn 服务的文件是您需要的文件,其他文件可以删除(您不应该首先启用它们):

sudo rm <openvpn-selfMadeFiles@server.service>
Run Code Online (Sandbox Code Playgroud)

小心不要删除导致服务启动和停止的服务