Hallo,
ich kämpfe seit geraumer Zeit mit einem Problem und
finde noch immer keine Lösung. Ich hoffe du kannst mir
helfen.
Ich verwende ein in Java geschriebenes Programm unter
Linux. Es handelt sich um ein Fahrtenbuchprogramm:
http://efa.nmichael.de/download.html
Dieses Programm speichert das Fahrtenbuch im Klartext
und kann so leicht manipuliert werden. Ich möchte dies
verhindern indem ich dem Benutzer die Schreibrechte auf
diese Dateien nehme und dem Benutzer admin übertrage.
Das Programm soll dann mittels sudo durch den Benutzer
aufgerufen werden, wodurch das Programm selbst
schreibrechte auf seine Dateien bekommt.
Hier also die auszuführende Datei:
drwxr-xr-x 9 admin root 4096 9. Sep 20:58 efa/
Hierzu habe ich folgende Konfigurationszeile für sudo:
bootshaus ALL = (admin) NOPASSWD:/efa/efadirekt.sh
Außerdem habe ich die Umgebungsvariablen für sudo mit
dieser Zeile vom ausführenden Benutzer übernommen:
Defaults !env_reset
Der Benutzer Bootshaus darf nun also das Script mit den
Rechten von admin ausführen. Leider funktioniert dies
nicht, denn das Programm möchte nicht starten:
bootshaus@fahrtenbuch:~> sudo -H -u admin
/efa/efadirekt.sh
/efa/efadirekt.sh: starting efa …
No protocol specified
/efa/efadirekt.sh: efa exit code: 1
Weisst du, was diese Fehlermeldung bedeutet und wie ich
sie beheben kann?