• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Programm mit spezieller Benutzerkennung nach Boot ausführen

Hallo Leute!

Hab eine sehr verzwickte Sache vor und Boardsuche und google helfen mir nicht mehr weiter, vielleicht habt ihr ja Ideen.

Folgendes Ziel:
Habe einen Server, der ganz normal in den Runlevel 3 startet. Nun möchte ich jedoch ein Programm/Script automatisch nach dem Booten starten lassen und zwar aber mit einer speziellen Benutzerkennung/ID.

Aber wie schaffe ich das?
Ich habe oc2pus's FAQ zur Erstellung eines Dienstes gelesen und das funktioniert auch grundsätzlich, aber dabei startet er natürlich immer als root. Kann ich auf dem aufbauen und gibts dabei eine Möglichkeit den Benutzer noch irgendwie unterzubringen oder muss ich das ganz anders machen?

Jede Hilfe willkommen!
Danke
Markus
 
der einfachste Weg wäre inetd oder xinetd für den Daemon zu nutzen, da kannst Du den User direkt mit angeben.

ansonsten, schau Dir mal Daemonen an (apache z.B.) die zwar als Root gestartet werden und dann einen uid wechseln
 
Manchmal ist alles viel einfacher als man denkt:
Einfach im selbstgeschriebenen Script im /etc/init.d/... folgende Zeile beim Servicestart eintragen:
su user -c "programmname &" und schon gehts. ;)
 
noch eine kleine Ergänzung dazu:

Du kannst sogar noch eine bestimmte shell mitgeben.
Beispiel:
Code:
su - vscan -s "/bin/bash" -c "/usr/local/sbin/myIMAPSpamClient.pl"
 
Markus Wagner schrieb:
Hi oc2pus, danke für deinen Tipp, aber ich verstehe den Sinn dahinter nicht so ganz ...

Manche scripte brauchen bestimmte shell-Eigenschaften (bash, ksh, csh, sh, ...), deshalb habe ich das noch ergänzt.
 
Oben