hallo
ich wollte ein startscript anlegen das ich als root ausführe
kann mir einer den befehl sagen das ich in dem start script das prog das ich ausführen möchte als angegebener user ausführe?
also im script das ich als root ausführe möchte ich das das prog das ich starte von nem anderem benutzer gestartet wird
habe es per
su -c user
probiert wobei ich eine fehler meldung bekam
vielen dank im vorraus
krugor
per startscript benutzer wechseln
Hi
Der Befehl, den du suchst lautet:
sudo -u [Benutername] [Befehl]
Das sieht dann in einem Bash-Skript etwa so aus:
Falls der Benutzername fix ist, setzt du vor $1 noch den Benutzernamen an... Du musst aber darauf achten, dass die Parameter an den Befehl durch $... weitergegeben werden. Dieses Skript würde nicht mehr funktionieren, sobald man an den Befehl mehr als 7 Optionen und Parmater übergibt...
Der Befehl, den du suchst lautet:
sudo -u [Benutername] [Befehl]
Das sieht dann in einem Bash-Skript etwa so aus:
Code: Select all
#!/bin/sh
sudo -u $1 $2 $3 $4 $5 $6 $7 $8 $9
Wobei ich nicht auf sudo zurückgreifen würde. Das eignet sich eher dafür, normalen Anwendern für bestimmte Kommandos Root-Rechte zu geben. Wenn man sowieso schon root ist, muss man sich nicht mit der sudo-Konfig herumschlagen.
Die Syntax von su lautet dannDu hattest einfach nur die Reihenfolge von user und Option -c vertauscht.
EDIT: Sollte immer noch eine Fehlermeldung auftauchen, kann es nur noch am Programmaufruf oder an mangelnden Rechten liegen. Dann müsstest Du schon mehr Infos zum Aufruf posten, weil dann auch sudo nicht weiterhelfen kann.
Jochen
Die Syntax von su lautet dann
Code: Select all
su user -c "kommando"
EDIT: Sollte immer noch eine Fehlermeldung auftauchen, kann es nur noch am Programmaufruf oder an mangelnden Rechten liegen. Dann müsstest Du schon mehr Infos zum Aufruf posten, weil dann auch sudo nicht weiterhelfen kann.
Jochen
Die grösste Lüge der EDV? "Mal eben..."