Hier ist mein Init-Skript, das ich auf meiner Ubuntu-Workstation habe. Ich muss einen Befehl als ein anderer Benutzer als root ausführen, aber ich kann einfach nicht verstehen, wie es gemacht werden soll. Weder sudo -u
noch su newuser
scheint zu funktionieren.
Das Skript:
%Vor%Ich benutze das:
%Vor%Update : Da Interesse an dieser Antwort besteht, erkläre ich die Art und Weise, wie ich sie hier benutze.
Wir betreiben Server als normale Linux-Benutzer, nicht als root. Der Benutzername enthält drei Teile:
Service, Kunde, Bühne
Auf diese Weise können wir mehrere Dienste für mehrere Kunden in einem Linux-Betriebssystem ausführen.
Beispiel: foo_bar_p Service "foo" des Kunden "bar" und "p" bedeutet Produktion
Hier ist der Teil des Init-Skripts. Das init-Skript kann als root oder als foo_bar_p user ausgeführt werden:
%Vor%su ist wahrscheinlich ein universellerer Ansatz, aber dies ist auch bei einigen gebräuchlichen Distributionen mit sudo möglich:
%Vor%(Lies einfach deine Frage neu und habe nicht bemerkt, dass das nicht für dich funktioniert, aber es hat bei mir in Init-Skripten funktioniert)