Script (braucht root-rechte) automatisch starten

  1. sideshow

    sideshow Thread StarterMacUser Mitglied

    Mitglied seit:
    24.01.2005
    Beiträge:
    92
    Zustimmungen:
    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!
     
    sideshow, 19.12.2005
  2. below

    belowMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    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
     
    below, 19.12.2005
  3. sideshow

    sideshow Thread StarterMacUser Mitglied

    Mitglied seit:
    24.01.2005
    Beiträge:
    92
    Zustimmungen:
    0
    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?
     
    sideshow, 19.12.2005
  4. below

    belowMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    Würde ich beim Aufruf im der cron liste machen

    Siehe auch crontab (5)

    Gruss

    Alex
     
    below, 19.12.2005
  5. sideshow

    sideshow Thread StarterMacUser Mitglied

    Mitglied seit:
    24.01.2005
    Beiträge:
    92
    Zustimmungen:
    0
    läuft super! vielen dank!!! banana
     
    sideshow, 19.12.2005
  6. kapabel

    kapabelMacUser Mitglied

    Mitglied seit:
    06.11.2008
    Beiträge:
    230
    Zustimmungen:
    1
    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
     
    kapabel, 14.03.2009
  7. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    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
     
    maceis, 14.03.2009
  8. kapabel

    kapabelMacUser Mitglied

    Mitglied seit:
    06.11.2008
    Beiträge:
    230
    Zustimmungen:
    1
    das script läuft immer ab, wenn der bnutzer den rechner neu startet...
     
    kapabel, 14.03.2009
  9. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    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
     
    maceis, 14.03.2009
  10. Ischi

    IschiMacUser Mitglied

    Mitglied seit:
    01.05.2005
    Beiträge:
    1.104
    Zustimmungen:
    28
    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 http://dirtylittlecoder.com/wordpress/2009/03/12/get-wireshark-to-recognize-the-networkinterfaces-on-macosx/ (ist meine Wireshark Anleitung) aber das Script ist austauschbar. Oder bei Apple selber http://developer.apple.com/DOCUMENT...al/BPSystemStartup/Articles/StartupItems.html
     
    Ischi, 14.03.2009
Die Seite wird geladen...
Ähnliche Themen - Script (braucht root
  1. Merlok
    Antworten:
    26
    Aufrufe:
    1.419
    Olivetti
    28.02.2017
  2. fantaeiner
    Antworten:
    10
    Aufrufe:
    642
    Hausbesetzer
    25.01.2017
  3. lazybaer
    Antworten:
    6
    Aufrufe:
    527
    trixi1979
    26.12.2015
  4. lazybaer
    Antworten:
    1
    Aufrufe:
    925
    lazybaer
    29.12.2014
  5. danielf
    Antworten:
    2
    Aufrufe:
    593
    danielf
    08.06.2006