1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Problem mit sudo im Script

Dieses Thema im Forum "AppleScript" wurde erstellt von tils, 08.05.09.

  1. tils

    tils Erdapfel

    Dabei seit:
    06.11.08
    Beiträge:
    5
    hey,

    ich möchte folgendes umsetzen:

    damit mein VPN-Client ordentlich funktioniert, muss ich häufig im Terminal folgende Anweisung eingeben:

    Code:
    sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart
    anschließend werde ich nach meinem Passwort gefragt, gebe es ein und alles ist wunderbar.

    Nun würde ich dies gerne in ein Script packen, um nicht immer das Terminal zu suchen und den Befehl einzugeben.

    Habe mich ein wenig mit AppleScript auseinander gesetzt, jedoch verstehe ich einfach nicht, warum folgendes nicht funktioniert:

    Code:
    do shell script "/System/Library/StartupItems/CiscoVPN/CiscoVPN restart" user name "NAME" password "1234" 
    als Fehlermeldung, dass ich als root arbeiten muss, um dies zu ändern.

    also dachte ich mir folgendes:

    Code:
    do shell script "sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart" password "1234" 
    er nimmt jedoch gar nicht das Passwort an und schmeißt eine Fehlermeldung...


    es würde mich auch nicht stören jedes mal mein Passwort neu einzugeben, um es ein wenig sicherer zu gestallten. Da dachte ich mir etwas in die Richtung:

    Code:
    display dialog "Password eingeben" default answer ""
    set pw to text returned of the result
    
    do shell script "sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart" password pw
    
    oder

    Code:
    do shell script "sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart" pw
    


    aber es will alles nicht.

    lg tils
     
  2. bezierkurve

    bezierkurve Danziger Kant

    Dabei seit:
    12.06.05
    Beiträge:
    3.861
    Afaik gibts da in AppleScript sowas wie „do shell script with root privileges“, der Mac fragt dich dann mit dem OS-eigenen Dialog nach deinem Passwort.
     
  3. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.896
    Code:
    do shell script "[I]command[/I]" user name "[I]username[/I]" password "[I]password[/I]" with administrator privileges
    Do NOT use sudo
    http://developer.apple.com/technotes/tn2002/tn2065.html

    Speichern als "Programm" - "nur ausführbar" !!!!!
    (Selbst dann ist das noch ein Sicherheitsrisiko, sein Kennwort statisch irgendwo reinzuschreiben!!)
     
  4. tils

    tils Erdapfel

    Dabei seit:
    06.11.08
    Beiträge:
    5
    So habe ich es auch schon probiert.
    Daraufhin kommt allerdings folgende Fehlermeldung von AppleScript in einem Fenster, der nur mit OK zu bestätigen ist:

    Password:


    gibt es denn eine möglichkeit, wie ich das Passwort jedes mal eingeben könnte?
     
  5. bezierkurve

    bezierkurve Danziger Kant

    Dabei seit:
    12.06.05
    Beiträge:
    3.861
    Lass das Passwort einfach weg, dann sollte, wie ich oben meinte, der Passwort-Dialog erscheinen:
    Code:
    do shell script "…" with administrator privileges
     
  6. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.896
    Regel 1 der Passwortkunde:
    Ausschliesslich Kennworte ohne Umlaute oder Sonderzeichen verwenden.
     
  7. tils

    tils Erdapfel

    Dabei seit:
    06.11.08
    Beiträge:
    5
    sorry, ich stand da ein wenig (oder viel) aufm schlauch...
    ich habe "with administrator privileges" einfach immer ignoriert und es für eine erklärung gehalten, nicht aber für code...

    ich bedanke mich, funktioniert alles wie gewollt.


    lg tils
     

Diese Seite empfehlen