• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Programme mit entsprechenden Rechten starten

funky676

New Member
Hi ich fragte mich letzte Zeit wie ich Programme aus dem Verzeichnis
/etc/init.d/
kann ich die via sudo starten oder muss ich auf den User achten?
hängt es von Programm ab?

die frage kam bei mir jetzt auf, nachdem mein Mongodb Server nicht problemlos neustarten kann, im log kommt jetzt die Meldung, das die Rechte in der Datenbank nicht richtig sind

freue mich auf viele antworten :)
 
Hallo,

ich kenne zwar die Datenbank nicht aber ich gehe mal davon aus das diese unter root oder einen eigenen user gestartet wird. Am besten mal das original init.d script mal untersuchen ob ein user definiert wird. Hast du root rechte? Welche Distribution? Wie verhält sich's nach einem Reboot? Eine genaue Fehlermeldung und wo sie liegt wäre nicht übel wenn wir helfen sollen.

MfG
Dominik
 
Die meisten Programme laufen unter ihrem Benutzer (was setuid voraussetzt was nur Superuser duerfen), einige brauche zusaetzlich wegen privilegierten Funktionen (wie Port-Listening auf Port < 1000, Raw Sockets, ...) Root-Rechte.

Du kannst zwar mit dem SETUID-Bit eine Binary unter der UID des jeweiligen Besitzers ausfuehren, beachte aber dass dies ein potentielles Sicherheitsrisiko darstellt.
 
Unter /etc/init.d findest du keine Programme, sondern nur Startscripte. Diese Scripte sind genau dafür da, einfach von Root abgefeuert zu werden und die Hintergrundprogramme so zu starten, wie das sinnvoll ist. Auch ein eventueller Wechsel des ausführenden Benutzers wird von den Startscripten selbst erledigt.

Unter neueren Distributionen nutzt man diese Scripte nicht mehr selbst, sondern greift auf das Kommando service zurück. Mehr Informationen unter

Code:
man service

Wenn du jetzt eine Fehlermeldung wegen falschen Rechten der MongoDB bekommst, liegt das nicht an den Startscripten. Du hast sicher zu einem früheren Moment die MongoDB per Hand mit einem falschen Benutzer gestartet, z.B. als root. Da das entsprechende Startscript einen User-Wechsel auf einen eingeschränkten Systembenutzer vollziehen will, hat der nun sicher Probleme, auf seine Daten zuzugreifen.

Wenn die Datenbank leer ist, würde ich MongoDB einfach mal komplett löschen und neu aufsetzen. Die Rechte mit Hand zurück fingern, ist etwas aufwändiger.
 
erstmal danke an euch allen, meine Hauptfrage ist damit soweit beantwortet worden und ich wieder schlauer geworden :)

habe nachgeschaut, es wurden die Binaries direkt mit root rechten gestartet
und leider ist die Datenbank gut gefüllt und befindet sich in laufenden Betrieb

somit werde nun die Rechte per Hand ändern
 
Back
Top