• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Problem mit sudo im Script

tils

Erdapfel
Registriert
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
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
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.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
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!!)
 

tils

Erdapfel
Registriert
06.11.08
Beiträge
5
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!!)

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?
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
gibt es denn eine möglichkeit, wie ich das Passwort jedes mal eingeben könnte?
Lass das Passwort einfach weg, dann sollte, wie ich oben meinte, der Passwort-Dialog erscheinen:
Code:
do shell script "…" with administrator privileges
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Daraufhin kommt allerdings folgende Fehlermeldung von AppleScript in einem Fenster, der nur mit OK zu bestätigen ist
Regel 1 der Passwortkunde:
Ausschliesslich Kennworte ohne Umlaute oder Sonderzeichen verwenden.
 

tils

Erdapfel
Registriert
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