Script (braucht root-rechte) automatisch starten

S

sideshow

Mitglied
Thread Starter
Dabei seit
24.01.2005
Beiträge
92
Reaktionspunkte
0
schönen guten morgen,

ich hätte da eine kleine frage. und zwar habe ich ein schönes backup-shell-script im internet gefunden. das funktioniert auch ganz wunderbar!

so kann ich es händisch im terminal ausführen:
sudo backup.sh /pfad/zum/backup/ordner

nach eingabe meines admin-passwortes gehts auch schon los und meine gesamte festplatte wird mit einhaltung der benutzerrechte in den backup ordner kopiert.

nun würde ich das gerne mittels cronjob jede woche einmal die nacht laufen lassen. meine frage nun: wie löse ich das mit der passwort eingabe? gibts da irgendwie nen weg?

das script läuft als benutzer root, gruppe wheel - muss ich das evtl. nur ändern?

im script selbst steht diese if anweisung drin:
Code:
if [ $(id -u) -ne 0 ]; then
        echo "$0: you must be root to use this command"
        exit 1
fi

könnte es sein, das ich diese if anweisung einfach rausnehmen muss und dass es dann ohne root läuft? sorry für die blöde fragerei, aber ich beschäftige mich noch nicht allzu lange mit der shell unter osx!

danke im voraus und viele grüße!
 
Das Problem ist, dass Apple aus Sicherheitsgründen Scripts die root-Rechte per setuid bekommen seit 10.4 nicht mehr mit Root Rechten ausführt.

Aber es gibt Hoffung: Trag das script doch in die cronjobs von root ein, dann wird es auch mit root rechten gestartet.

Gruss

Alex
 
ok, das klingt einfach!

jetzt hab ich nur ein kleines problemchen...
ich muss dem script ja noch den pfad für den backupordner übergen. kann ich das beim scriptaufruf im cronjob machen (ich mach es ehrlich gesagt mit cronnix), oder sollte ich das lieber in das script selbst übernehmen?
 
Würde ich beim Aufruf im der cron liste machen

Siehe auch crontab (5)

Gruss

Alex
 
below schrieb:
Würde ich beim Aufruf im der cron liste machen

Siehe auch crontab (5)

Gruss

Alex

läuft super! vielen dank!!! banana
 
ok, ich grabe das Thema nochmals aus, weil ich das selbe Problem habe:

Ich arbeite jetzt auf OS X, 10.4.11

Ich muss ein Script schreiben, welches mir einen Ordner löscht, einen anderen herkopiert und mit chown die Rechte ändert.

Nun ist es so, dass ich in der Shell alles ausprobieren kann:

rm -r /Users/benutzer
--> Permission denied

sudo rm -r /Users/benutzer
- Ok

Mit chown habe ich das selbe Problem.

Leider kann ich kein Passwort im Script eingeben... Kann mir jemand helfen wie ich das umgehen kann?

Ich würde mich sehr auf eure Hilfe freuen,
lg, kapabel
 
Du könntest das Script als Admin Benutzer mit 'sudo' aufrufen, das Passwort eingeben und gut ist.
Alternativ könntest Du — falls das nicht ausreichend ist — das sudoers file erweitern.
Dazu musst Du Dich aber in die Materie einlesen:
man sudoers
 
das script läuft immer ab, wenn der bnutzer den rechner neu startet...
 
Bei jedem Bootvorgang?

Dann könntest Du mit einem Launchd Job arbeiten.
Damit kann man Skripte mit Rootrechten beim Rechnerstart ausführen lassen.

Details:
man launchctl
man launchd.plist
 
In dem Fall kannst du einfach ein StarupItem einrichten was das Script ausführt, ich mach das gleiche um für Wireshark Permission zu setzten also schau entwerder mal hier / (ist meine Wireshark Anleitung) aber das Script ist austauschbar. Oder bei Apple selber
 
Ich würde keine StartupItems mehr schreiben.
Das Konzept ist depreciated und wird wohl demnächst aus Mac OS X verschwinden.

Zitat aus Deinem Link:
nless your software requires compatibility with Mac OS X v10.3 or earlier, you should use the launchd facility instead of writing a startup item.
Im nächsten Satz kommt dann ein Link zur Anleitung von Launchd.
 
Ich würde keine StartupItems mehr schreiben.
Das Konzept ist depreciated und wird wohl demnächst aus Mac OS X verschwinden.

Zitat aus Deinem Link:

Im nächsten Satz kommt dann ein Link zur Anleitung von Launchd.

Danke für den Hinweis, hab gar nicht darauf geachtet.
 
Zurück
Oben Unten