# OSGi und root rechte



## Fohnbit (28. Mrz 2020)

Hallo,

ich habe ein OSGi System das als root Dienst läuft. Das soll nun geändert werden, aber einige eigene Plugins müssen shell Befehle absenden und auch Linux Dienste starten.

Wie kann man dies absichern?

Wenn das OSGi nicht root ist, und ein Plugin Befehle auf der Command Line ausführen muss, die aber root benötigen?

Kann man einen "root Dienst" starten, wo sich das Plugin authentifiziert und nur erlaubte Plugins root Befehle absenden kann?

Danke!


----------



## lam_tr (6. Apr 2020)

Fohnbit hat gesagt.:


> Hallo,
> 
> ich habe ein OSGi System das als root Dienst läuft. Das soll nun geändert werden, aber einige eigene Plugins müssen shell Befehle absenden und auch Linux Dienste starten.
> 
> ...


Ich habe leider nicht verstanden was du haben willst. Für mich ist OSGI mehr die Umgebung die Plugins betreiben kann. das heißt wenn du ein Root Dienst haben willst, dass soll es doch im Plugin verwaltet werden oder?

Wahrscheinlich brauchst du eher ein Extension Point der abfrägt ob dein Plugin root Rechte hat und die Sachen abarbeiten darf.


----------



## kneitzel (6. Apr 2020)

Also aus Unix Sicht gibt es Möglichkeiten, wie beim Start zu Root gewechselt werden kann. 

Ein Beispiel dafür ist das setuid Flag. Wenn Du also ein Executable hast, dann kannst Du den Owner zu root machen, nur der Gruppe, die es ausführen soll, Ausführrechte geben und dann das setuid flag setzen.

Es gibt aber auch Tools, die eben dies noch besser anbieten. So ist z.B. sudo sehr verbreitet. Das arbeitet auch unter dem Strich mit dieser setuid Sache, aber intern hat es deutlich feinere Rechte. So kann man klar vorgeben, was die einzelnen User dürfen. Dann müsste man lediglich dem user sudo Rechte geben und das halt entsprechend konfigurieren. So scheint wichtig zu sein, dass der User kein Passwort angeben muss, denn es soll ja automatisch alles laufen. Das wäre wohl auch die Empfehlung, die ich aussprechen würde.

Generell: Sprich mit den Admins des Servers. Die können dann so Lösungen vorschlagen.


----------

