Wie heißt der Command wo man in Linux als ein anderer User eine Datei ausführen lassen kann.?

... komplette Frage anzeigen

2 Antworten

als Cron-Befehl ist das nicht so einfach und könnte ein Sicherheitsrisiko werden.

Cron startet zur angegebene Zeit, wer aber soll wo das Passwort eingeben?

Das geht nur, wenn man im Befehl das Passwort mit angibt.

echo <User-Passwort> | su <UserName> -c <Befehl + Parameter> 

Das Passwort steht dann im Klartext in der crontab-Datei!!!

Mit ssh dürfte die ganze Sache sicherer werden.

Wenn im Verzeichnis .ssh der User die Dateien
authorized_keys ,id_rsa und id_rsa.pub  entsprechend generiert sind, dann sind keine Passwörter erforderlich.

ssh user@<localhost oder IP-Adresse>  <Befehl + Parameter>

Fremde User, die nicht in ~/.ssh  registriert sind, müssen auch weiterhin das Passwort kennen und eintippen.

 

Antwort bewerten Vielen Dank für Deine Bewertung

Optimalerweise solltest du den Conjob in der Crontab des Users eintragen, als der er ausgeführt werden soll.

Dazu verwende den Befehl

su <user> -c 'crontab -e'

Dann trage den Cronjob (z.B.: xxx/xxx/xxx.sh) ohne irgendwelche zusätze wie su/sudo/o.ä. in die Crontab ein, speichern, fertig.

P.S.: Verwende bei Cronjobs bevorzugt absolute statt relativer Pfade, um sicherzugehen, dass auch genau das ausgeführt wird, was ausgeführt werden soll...

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?