Die Dienste werden standardmäßig zum Startzeitpunkt root
auf meiner RHEL-Box gestartet. Wenn ich mich richtig erinnere, gilt das Gleiche für andere Linux-Distributionen, die die Init-Skripte in verwenden /etc/init.d
.
Was ist Ihrer Meinung nach der beste Weg, um die Prozesse stattdessen als (statischer) Benutzer meiner Wahl ausführen zu lassen?
Die einzige Methode, zu der ich gekommen war, war, etwas zu verwenden wie:
su my_user -c 'daemon my_cmd &>/dev/null &'
Aber das scheint ein bisschen unordentlich ...
Ist etwas Magie versteckt, die einen einfachen Mechanismus zum automatischen Starten von Diensten als andere Benutzer ohne Rootberechtigung bietet?
EDIT: Ich hätte sagen sollen, dass die Prozesse, die ich in dieser Instanz starte, entweder Python-Skripte oder Java-Programme sind. Ich möchte lieber keinen nativen Wrapper um sie schreiben, daher kann ich setuid () leider nicht aufrufen, wie Black vorschlägt.