Hallo,
ich habe ein kleines Problem:
Ich möchte das mein Programm temporär (Millisekundenbereich) Superuser-Rechte bekommt, da es eine Datei anlegen muss.
Ein Ansatz wäre über den befehl system und chmod... Allerdings möchte ich nicht system nehmen um sudo-rechte zu bekommen. Das ist einfach zu unsicher!
Sudo-Rechte in C / C++
Anmeldungsdatum: Beiträge: 164 |
|
||
![]() Anmeldungsdatum: Beiträge: 188 Wohnort: Hamburg |
Naja, ich hätte jetzt gesagt das einfachste wäre das UID Bit zu setzen, damit du dein Programm mit deinem User aber root Rechten ausführen kannst:
Aber wenn dir Sicherheit wichtig ist, ist dies denke ich keine kluge Wahl. Daher würde ich vorschlagen, dass du den Teil deines Programms, den du als superuser ausführen müsstest, auslagerst und einen Service anbietest. Sowas ist das wesentlich leichter abzusichern. Also das du ein eigenes Programm schreibst, welches nur besagte Datei anlegt und dein Programm sendet Requests an dieses Programm. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 164 |
Ich denke mal es wird trotzdem in die Richtung gehen, da es z.Z. die einfachste Lösung ist. Extra auszulagern ist natürlich auch nen guter Ansatz. Allerdings da es sich nur um exakt 3 Befehle handelt, ist es eig. die Sache nicht wert.
Und dann noch andersrum, etwas reinschreiben! Optional wäre eine Textdatei vorzufertigen und einfach reinzukopieren und ggf. löschen.\nAllerdings nicht die feine englische Lösung! Edit: Es handelt sich dabei NICHT um eine Konsolenanwendung! |
||
![]() Anmeldungsdatum: Beiträge: 188 Wohnort: Hamburg |
Okay, das ist wirklich nicht viel, aber in der 1. Zeile soll es bestimmt "w" beim mode heißen, weil sonst kannst du nicht schreiben. Alternativ kannst du natürlich wenn es keine Konsolenanwendung ist und diese Datei nur einmal bei einer Aktion geschrieben werden soll mit gksudo kurzzeitig Superuser-Rechte bekommen. Das machen viele andere Desktopanwendungen ja auch so, wenn du einen Button klickst, der eine Superuser-Aktion auslöst. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 164 |
Ja das war einfach verschrieben auf die schnelle 😉 |