使用sudo与ExecStart(systemd)

我试图让端口80上的node.js网站(我正在使用数字海洋)。 我在服务文件中使用systemd来做这个

... ExecStart=/usr/bin/nodejs /var/www/bin/app.js ... 

在本地主机上,如果我使用sudo来启动站点,但在没有sudo的情况下,这可以在端口80上正常工作。 显然你需要以1024以下的端口为根运行。

如何在ExecStart中允许sudo? 或者我在这里完全错误的方式,如果是这样,我怎么得到80端口的快递应用程序?

干杯,迈克

ExecStart=默认启动以ExecStart=开头的可执行文件。 这意味着,如果您在我们的服务文件中没有指定User =或Group= ,那么您的二进制文件将被启动。

你可以通过启动id或whoami程序来validation。 例如: ExecStart=/usr/bin/id或者ExecStart=/usr/bin/whoami (注意程序的path可能会有所不同)