linux system权限,linux – systemd:授予非特权用户权限以更改某个特定服务

我可以想到两种方法:

一种方法是使服务成为用户服务而不是系统服务.

systemd单元不是创建系统单元,而是放在服务用户的主目录下,位于$HOME / .config / systemd / user / daemon-name.service.然后,同一用户可以使用systemctl进行manage the service –user< action>守护程序name.service.

要允许用户单元到start at boot,root必须为帐户启用逗留,即sudo loginctl enable-linger username.该单位也必须是WantedBy = default.target.

另一种方法是允许用户访问通过PolicyKit管理系统单元.这需要systemd 226或更高版本(并且对于JavaScript rules.d文件,PolicyKit> = 0.106 – 请使用pkaction –version进行检查).

您将创建一个新的PolicyKit配置文件,例如/etc/polkit-1/rules.d/57-manage-daemon-name.rules检查您要允许的属性.对于example:

// Allow alice to manage example.service;

// fall back to implicit authorization otherwise.

polkit.addRule(function(action, subject) {

if (action.id == "org.freedesktop.systemd1.manage-units" &&

action.lookup("unit") == "example.service" &&

subject.user == "alice") {

return polkit.Result.YES;

}

});

然后,指定的用户可以使用systemctl管理命名服务,而无需使用sudo.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值