允许非 root 用户使用 timedatectl

允许非 root 用户使用 timedatectl

我有一个小型 Linux 设备可能当手持设备连接到该设备时,选择与该设备同步时间。我的程序一直以 root 身份运行,并且我只是使用date --set命令。但我正在尝试将所述程序移至权限较低的用户。由于我现在正在使用systemd,我认为我应该使用timedatectl来设置时间而不是直接日期。我已经向自己证明了如何做到这一点。但我不知道如何从非root驱动它。

我可以使用特定的 sudo 项,但我希望不要让我的程序运行 sudo。如果这是唯一的方法,我知道该怎么做。如果这是唯一的方法,那么就回答这个问题:)

我希望如果我让我的用户成为该组的成员systemd-timesync,我也许能够,但是无论有没有该组,我都会收到以下错误:

> timedatectl set-time "2017-3-2 01:40:30"
Failed to set time: The name org.freedesktop.PolicyKit1 was not provided by any .service files

我不知道这意味着什么,或者如何解决它,或者我是否应该这样做,或者是否可能。

答案1

我会用sudo.您表示不愿意采用这种方法,但您只会授予用户 root 访问权限来运行单个timedatectl命令。

应该也可以使用 PolicyKit 来解决,但它实际上会产生与允许用户以 root 身份运行单个命令相同的结果。因此风险是相似的——并且您已经了解如何解决问题sudo

相关内容