Debian

允許非 root 使用者使用 timedatectl

  • March 2, 2017

我有一個小型 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

我不知道這意味著什麼,或者如何解決它,或者我是否應該,或者是否可能。

我會用sudo. 您對這種方法表示不情願,但您只會授予您的使用者 root 訪問權限以執行單個timedatectl命令。

應該也可以使用 PolicyKit 來解決,但它實際上會產生相同的結果,即允許使用者以 root 身份執行單個命令。所以風險是相似的——而且您已經了解如何使用sudo.

引用自:https://unix.stackexchange.com/questions/348537