Daemon via /etc/init-Skript unter anderem User starten

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
weisnix27
Beiträge: 9
Registriert: 24.02.2006 20:27:32

Daemon via /etc/init-Skript unter anderem User starten

Beitrag von weisnix27 » 01.03.2006 23:32:31

Hallo,

ich möchte gerne ein bestehendes Programm als anderer User ausführen. Gestartet wird es jetzt über ein init-skript aber ich kann dort nirgends einen User angeben.
Auch in der Programm-Config gibt es keine derartige Möglichkeit.

Kann ich das init-skript irgendwie anpassen um einen anderen user zu benutzen?

Gruss
weisnix27

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 01.03.2006 23:53:10

Du kannst im Script entweder "start-stop-daemon -c <uid> ..." oder "su - <user> -c <command>" verwenden.

Gruß
gms

weisnix27
Beiträge: 9
Registriert: 24.02.2006 20:27:32

Beitrag von weisnix27 » 02.03.2006 00:13:57

Super, danke.
ich werde es wohl über den start-stop-daemon machen. Habe mir gestern schon die Optionen angeschaut aber wohl über -c hinweggelesen.
Allerdings klappt es so leider noch nicht.

start-stop-daemon --start --chuid www-data --make-pidfile --pidfile $PIDFILE --exec $DAEMON

startet die Anwendung gar nicht mehr.Ansonsten läuft das Skript. Alles bis auf das --chuid www-data war bereits vorher vorhanden und läuft.

Was könnte es sonst noch sein. Über den weg mit su wollte ich ungerne gehen.

Gruß
weisnix27
gms hat geschrieben:Du kannst im Script entweder "start-stop-daemon -c <uid> ..." oder "su - <user> -c <command>" verwenden.

Gruß
gms

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 02.03.2006 10:16:47

Um was für einen Daemon gehts denn da ? Vielleicht kann dieser selber seine Prozesse den verbundenen Usern zuorden (setuid)

Ansonsten wird das Problem wahrscheinlich an falschen Environment - Settings oder an mangelnder Berechtigung liegen.
Öffnet der Daemon TCP oder UDP Ports ? Dann liegt es vielleicht daran, daß dur Root-Prozesse einen privilegierten Port öffnen können. In diesem Fall müßtest du den Port umsetzen.

Gruß
gms

weisnix27
Beiträge: 9
Registriert: 24.02.2006 20:27:32

Beitrag von weisnix27 » 02.03.2006 23:56:39

Hi und danke,

es wird wohl an den Berechtigungen liegen. Werde morgen hier noch etwas testen. Ports werden zwar geöffnet aber liegen bei 1060-1070 und müssten ja funktionieren.
Aber vermutlich wird es wie fast immer mit den Berechtigungen zu tun haben.


gruß
weisnix

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 03.03.2006 09:43:23

Schreibt denn der Daemon keine Daten in Logfiles, wenn du ihn startest?
Auf Ports oberhalb von 1024 kann ja jeder Prozess zugreifen, daran sollte es dann eigentlich nicht liegen.

Antworten