Разрешить пользователю без полномочий root timedatectl

У меня есть небольшое устройство Linux, которое может выбрать синхронизацию своего времени с карманным устройством, когда это устройство подключается к нему. Моя программа работает от имени root, и я только что использовал команды date --set . Но я пытаюсь перенести указанную программу на менее привилегированного пользователя. Поскольку я использую systemd сейчас, я думаю, что я должен использовать timedatectl чтобы установить время, а не дату напрямую. Я доказал себе, как могу сделать этот корень. Но я не знаю, как управлять им из non-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 

Я понятия не имею, что это значит, или как это исправить, или, если нужно, или если это возможно.

  • FUSE зависает, пытаясь подключить сетевую файловую систему при входе в систему
  • Как перезагрузка gnome без привилегий root?
  • Как скрыть загрузочные сообщения (тихая загрузка) в debian jessie (малина pi)?
  • Как запустить и использовать ssh-agent в качестве службы systemd?
  • Как вы сообщаете системе, что цель удовлетворена одним из любых требований?
  • Файл systemctl .service работает не так, как ожидалось
  • systemd срезы даже с низким CPUShare сильно влияют на реакцию системы
  • Возможно ли сделать загрузку системы, если systemd-networkd не удается?
  • One Solution collect form web for “Разрешить пользователю без полномочий root timedatectl”

    Я бы использовал sudo . Вы выражаете нежелание к этому подходу, но только вы предоставляете свой пользовательский root-доступ для запуска отдельной команды timedatectl .

    Это также должно быть разрешено с помощью PolicyKit, но это фактически обеспечило бы тот же результат, позволяющий пользователю запускать одну команду как root. Таким образом, риски будут схожими – и вы уже понимаете, как решить проблему с помощью sudo .

    Linux и Unix - лучшая ОС в мире.