Permitir que usuário não root use timedatectl

1

Eu tenho um pequeno dispositivo Linux que pode escolher sincronizar seu tempo com um dispositivo portátil quando o referido dispositivo se conecta a ele. Meu programa está rodando como root, e eu acabei de usar os comandos date --set . Mas estou tentando mover o programa para um usuário menos privilegiado. Como estou usando systemd agora, acho que devo usar timedatectl para definir a hora em vez da data diretamente. Eu provei a mim mesmo como eu posso fazer essa raiz. Mas eu não sei como dirigi-lo de não-raiz.

Eu poderia usar um item específico do sudo, mas esperava não ter meu programa rodando o sudo. Se essa é a única maneira, eu sei como fazer isso. Se esse é o único caminho, então apenas responda que:)

Eu esperava que, se eu tornasse meu usuário um membro do grupo systemd-timesync , poderia conseguir, mas com ou sem o grupo, recebo o seguinte erro:

> 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

Eu não tenho ideia do que isso significa, ou como corrigi-lo, ou se deveria, ou se é possível.

    
por Travis Griggs 02.03.2017 / 03:04

1 resposta

1

Eu usaria sudo . Você expressa relutância a essa abordagem, mas você só estaria concedendo ao seu usuário acesso root para executar o único comando timedatectl .

Este deve poder ser resolvido com o PolicyKit também, mas efetivamente teria o mesmo resultado de permitir que um usuário executasse um único comando como root. Então, os riscos seriam semelhantes - e você já sabe como resolver o problema com sudo .

    
por 02.03.2017 / 13:34