Erweiterte Rechte für osascript

Atalantia

Atalantia

Aktives Mitglied
Thread Starter
Dabei seit
26.11.2009
Beiträge
1.894
Reaktionspunkte
432
Hallo Leute,
ich habe ein script, dass in regelmässigen Abstanden mit osascript und launchd gestartet wird und ein wenig im System rumfummelt. Das Problem ist, wenn der Bildschirm gesperrt ist verlangt osascript offenbar das admin Passwort. Wie kann ich osascript erweiterte Rechte geben?
 
ist das ein launchagent oder daemon?
die daemon müssten ja teilweise mit root rechten laufen können.
sonst halt ein sudo mit entsprechenden eintrag in der sudoers für osascript ohne passwort.
 
Du meinst ich soll das plist file für den Start mit launchd in die daemons tun? (Zur Zeit launch agent)

Das mit den sudoers hab ich schonmal gesehen steige da aber nicht durch. Bräuchte eine genaue Anleitung bevor ich das sudoers file schreddre.
 
also am besten mit visudo eine datei in /etc/sudoers.d anlegen.
der inhalt wäre so ähnlich wie hier:
Code:
# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now
%admin  ALL=(ALL) NOPASSWD: /usr/bin/osascript
#%users  ALL=(ALL) NOPASSWD: /usr/bin/osascript

damit kannst das dann entweder auf die admins beschränken oder allen benutzern erlauben.
 
  • Gefällt mir
Reaktionen: Atalantia und dg2rbf
Ja, eben... da steig ich nicht durch. Ein /etc/sudoers file existert ja schon. Warum dann sudoers.d? In Deinem Beispiel wäre osascript für admins ohne passwort für users aber nicht. Ist das korrekt?
 
sudoers.d ermöglicht halt kleine unter dateien anzulegen, ohne die /etc/sudoers selber zu bearbeiten.
die kannst dann ja auch nach dem befehl benennen und weißt dann was die macht.
dadurch bleibt die sudoers halt kleiner.

in dem bespiel dürfen die admins halt osascript mit sudo dann ohne passwort ausführen.
das für users ist halt auskommentiert und nur der vollständigkeit halber drin, falls man es ändern will.
ich benutz das sonst halt für shutdown, um per ssh einen anderen rechner runter zu fahren.
 
  • Gefällt mir
Reaktionen: Atalantia
Ich könnte also in etc/ ein File namens osascript.d anlegen und dort eine Zeile:

%admin ALL=(ALL) NOPASSWD: /usr/bin/osascript

... einfügen und das war's?

PS: Muss ich im sudoers file bei
#includedir /private/etc/sudoers.d
die Files eintagen welche sudoers befehle enthalten?
 
nein.
/etc/sudoers.d ist ein verzeichnis, dort legst du dann eine datei osascript an.
am besten auch mit visudo, das überprüft die sudoers syntax gleich mit, damit du dein sudo nicht zerschießt.
im sudoers selber änderst du nichts, das lädt automatisch mit der include zeile das /etc/sudoers.d verzeichnis.
 
  • Gefällt mir
Reaktionen: Atalantia
Ok, habe ein File mit nano in /etc/sudoers.d mit dem Namen "osascript" und der Zeile "%admin ALL=(ALL) NOPASSWD: /usr/bin/osascript" angelegt. Muss ich das System neu starten?
 
das sollte eingentlich bei jedem sudo aufruf ausgewertet werden.
 
Noch ne Frage zu "ALL=(ALL)" Wenn ich da nur einen bestimmten Admin einsetzen will, wie muss das aussehen?
"dodo=(dodo)" ?
 
also am besten mit visudo eine datei in /etc/sudoers.d anlegen.
der inhalt wäre so ähnlich wie hier:
Code:
# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now
%admin  ALL=(ALL) NOPASSWD: /usr/bin/osascript
#%users  ALL=(ALL) NOPASSWD: /usr/bin/osascript

damit kannst das dann entweder auf die admins beschränken oder allen benutzern erlauben.
Ich habe folgende Zeile in ein File mit namen "osascript" geschrieben und es in sudoers.d gelegt.
%admin ALL=(ALL) NOPASSWD: /usr/bin/osascript

Funktioniert nicht. osascript verlangt immer noch das admin passwort.
 
Zuletzt bearbeitet:
Ich habe folgende Zeile in ein File mit namen "osascript" geschrieben und es in sudoers.d gelegt.
%admin ALL=(ALL) NOPASSWD: /usr/bin/osascript

Funktioniert nicht. osascript verlangt immer noch das admin passwort.

probierst du das auch als admin user? für normale user muss da %users stehen.
ich hab das hier gerade mal selbst angelegt und mit
sudo osascript -e 'do shell script "whoami"'
getestet, da wird nicht nach dem passwort gefragt.
 
Wenn ich das so teste fragt es bei mir auch nicht nach dem Passwort. Auch wenn ich mit sudo osascript ein Applescript aufrufe, fragt es nicht und trotzdem... wenn ich manchmal aus dem gesperrten Bildschirm komme ist da die Paßwortabfrage "osascript want's to...". Hmm... vielleicht muss ich in LaunchAgent "sudo osascript" eintragen? Zur Zeit ist da nur "osascript"
 
Zurück
Oben Unten