如何在没有 sudo 的情况下作为普通用户启动/停止服务

Gal*_*let 4 permissions services 16.04

我正在 Ubuntu 机器上安装我的自定义应用程序。现在我想在没有 sudo 权限的情况下以普通用户的方式启动/停止我的应用程序作为服务。

我的应用程序安装路径:-

/usr/local/myapp
Run Code Online (Sandbox Code Playgroud)

注意:我的应用程序将在 /tmp 下创建一些文件夹和文件,以便在应用程序运行期间进行处理。

登录 Ubuntu 机器后,我想在不使用 sudo 的情况下像下面的命令一样启动

service myapp start
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现它?

Phi*_*pos 5

编辑 sudoers 文件sudo visudo并添加一行

USER        ALL = NOPASSWD: /usr/sbin/service /usr/local/myapp *
Run Code Online (Sandbox Code Playgroud)

然后,您无需为此特定命令输入密码。

其他可能性:创建一个包含启动服务suid的脚本,为脚本设置位并使其为 root ( sudo chown root /usr/local/bin/startMyappService) 所有。

谨防安全隐患!这样的文件不能对任何人有写权限!使用绝对路径。总是三思而后行!