我正在 Ubuntu 机器上安装我的自定义应用程序。现在我想以普通用户身份启动/停止我的应用程序作为服务,而无需 sudo 权限。
我的应用程序安装路径:-
/usr/local/myapp
注意:我的应用程序将在 /tmp 下创建一些文件夹和文件,以供应用程序运行期间处理。
登录 Ubuntu 计算机后,我想在不使用 sudo 的情况下启动以下命令
service myapp start
我怎样才能实现它?
答案1
编辑 sudoers 文件sudo visudo
并添加一行
USER ALL = NOPASSWD: /usr/sbin/service /usr/local/myapp *
那么您不需要为该特定命令输入密码。
其他可能性:创建一个包含启动服务的脚本,suid
为该脚本设置位并使其由 root 拥有(sudo chown root /usr/local/bin/startMyappService
)。
小心安全隐患!这样的文件不能对任何人具有写入权限!使用绝对路径。做事时一定要三思而后行!