root kommandos



  • Hallo zusammen,

    ich bin gerade dabei ein eigenes WebInterface
    für meine Firewall zu schreiben. Funktioniert auch
    soweit.
    Programm läuft als Daemon und wird beim booten automatisch
    gestartet. Nun soll mein Programm aber in der Lage sein
    root Befehle auszuführen...im meinem Fall shutdown oder
    ähnliches.

    Wie schaffe ich es, dass mein Programm solche Dinge
    aufrufen DARF?

    Danke schon mal für eure Hilfe.

    Bye Peter.



  • Variante 1:
    Das Programm läuft als root (sehr unsicher)

    Variante 2:
    Das Programm bekommt das setuid-Bit gesetzt. Per geteuid() wird die UserID gesichert. Danach stuft sich das Programm per setuid runter auf etwas harmloses. Das Programm kann dann per setuid immer wieder die gespeicherte privilegiertere UID bekommen. Ich bin mir allerdings gerade nicht sicher, ob das auch bei root funktioniert.

    Variante 3:
    Sofern du sowieso system() benutzt, kannst du die das Hilfprogramm sudo installieren udn für den Benutzer unter dem der Daemon läuft entsprecehnde Befehle zulassen. Siehe auch man sudo



  • @TriPhoenix,

    ich bin noch recht neu in Linux.
    Kannst du mir vielleicht sagen welcher
    Nutzer aktiv ist, wenn das System bootet.
    Diese "Boot"-Nutzer startet ja mein Programm.

    Danke trotzdem für die Hilfe.

    Bye Peter.



  • __Peter schrieb:

    ich bin noch recht neu in Linux.
    Kannst du mir vielleicht sagen welcher
    Nutzer aktiv ist, wenn das System bootet.
    Diese "Boot"-Nutzer startet ja mein Programm.

    Das ist der Root-Nutzer. Man sollte immer so wenig wie Möglich als root laufen lassen, weil man sich sonst durch kleine Programmierfehler viel Ärger einhandeln kann


Anmelden zum Antworten