Para a GUI, você precisa definir as regras do Polkit. Adaptando uma das minhas outras respostas , verifique quais ações do Polkit se aplicam:
$ pkaction | grep time
com.canonical.controlcenter.datetime.configure
org.freedesktop.RealtimeKit1.acquire-high-priority
org.freedesktop.RealtimeKit1.acquire-real-time
org.freedesktop.timedate1.set-local-rtc
org.freedesktop.timedate1.set-ntp
org.freedesktop.timedate1.set-time
org.freedesktop.timedate1.set-timezone
As ações org.freedesktop.RealtimeKit1
não são relevantes aqui, você pode ignorá-las e negar permissão para as outras. Crie um arquivo .pkla
em / etc/polkit-1/localauthority/50-local.d
, digamos, disable-time-change.pkla
, contendo:
[Disable time change]
Identity=*
Action=com.canonical.controlcenter.datetime.configure;org.freedesktop.timedate1.*
ResultAny=no
ResultInactive=no
ResultActive=no
Você pode ser mais específico sobre quais usuários não devem fazer isso substituindo *
in Identity=*
pelos nomes de usuários ou grupos apropriados ( unix-user:foo;unix-group:bar
, etc.).
Para a linha de comando, não forneça acesso sudo
irrestrito.