我正在尝试设置Upstart作业以在系统启动时运行,并且该作业也可以由以外的其他组成员启动/停止sudo
。在以前的版本中,我使用update-rc.d
和存储了脚本/etc/init.d/
来通过将其添加%Group ALL = NOPASSWD: /etc/init.d/scriptname
到sudoers文件中来使其工作,但是对于Upstart,我似乎无法获得等效的工作。
我尝试添加%Group ALL = NOPASSWD: /sbin/initctl start jobname
到sudoers文件中,但是尝试运行命令start jobname
会产生此错误:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.21" (uid=1000 pid=5148 comm="start jobname " interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
据我所知,这是关于如何使我的用户帐户无法在Upstart的D-Bus配置文件中发送“开始”消息的投诉。我实际上无法找到有关如何编辑该文件以授予组访问特定服务的权限的任何信息-是否存在这样的选项?有没有一种方法可以编辑Sudoers文件,这样我就可以运行作业而无需编辑配置文件?我最好还是坚持以前的版本吗?