So stellen Sie RTC sysfs für Benutzer zur Verfügung

343
Mark Jeronimus

In Armbian konnte ich die GPIO-sysfs für Benutzer in der gpioGruppe mithilfe der Anweisungen in diesem ersten Beitrag verfügbar machen, und dies funktioniert. Dies funktionierte erfolgreich für meinen unprivilegierten Benutzer.

Jetzt versuche ich das gleiche für die RTC-sysfs ohne Glück.

Was ich ausprobiert habe, sind die meisten Schritte von diesem Beitrag bis zu dem Punkt, an dem sie die rules.d-Datei bearbeiten: /sys/devices/soc.0Auf meinem Gerät gibt es keine . Stattdessen fügte ich unter der gpio*Befehlsliste folgende Zeile hinzu:

chown -R root:gpio /sys/class/rtc && chmod -R 770 /sys/class/rtc;\ 

Das scheint nicht zu funktionieren. Selbst wenn ich diese Befehle manuell ausführe und versichere, dass der rtc-Ordnerbaum root: gpio mit 770-Berechtigungen ist, funktioniert er immer noch nicht (die Berechtigung wird vom unberechtigten Benutzer verweigert).

$ cat /sys/class/rtc/rtc1/since_epoch # this works! $ echo 10 > /sys/class/rtc/rtc1/since_epoch # permission denied 

Entschuldigen Sie, ich habe gerade realisiert, dass die sysfs des RTC schreibgeschützt zu sein scheinen. Nun wechselt meine Frage zu, wie kann ich die HW-Zeit über sysfs einstellen? (Wie kann ich alternativ die HW-Zeit im Benutzerraum einstellen?)

0

1 Antwort auf die Frage

0
Mark Jeronimus

Dies ist eine Antwort auf meine letzte Frage "Wie kann ich die HW-Zeit überhaupt aus dem Benutzerraum einstellen?"

Vor kurzem habe ich erfahren sudoers, dass dies die universelle Lösung für alles ist, was mit der Bekämpfung von Su-Rechten zusammenhängt.

Führen Sie visudoals root aus. Dies ist eine Verknüpfung zur Bearbeitung sudoers. Machen Sie sich keine Sorgen, es wird nicht gestartet vi, sondern Ihr Standardeditor (sofern dies nicht der Fall ist vi ). Wenn Sie diese Option verwenden, anstatt sie manuell zu bearbeiten, werden /etc/sudoersdie Änderungen beim Schließen angewendet und geben ggf. Warnungen und Fehler aus.

Ich bin noch kein Sudoers-Assistent (die Manpage ist ungefähr 50 Seiten lang), aber ich habe am Ende Folgendes hinzugefügt:

Cmnd_Alias TIMEDATE=/usr/bin/timedatectl pi ALL=(ALL) NOPASSWD: TIMEDATE 

Wenn Sie einen Alias ​​verwenden, anstatt den Befehl direkt anzugeben, können Sie beliebige Befehlszeilenargumente verwenden.

Der Benutzer pikann dann ausführen, sudo timedatectlohne nach einem Kennwort gefragt zu werden. (Anmerkung: sudowird noch benötigt.)