1) in die Ordner LaunchDaemons und LaunchAgents gehören nur die Startkonfigurationen für die Jobs (*.plist), nicht die Tools selbst. (Vorgesehene und abgesicherte Speicherorte für sowas wären /Library/PrivilegedHelperTools bzw /usr/local/{bin,sbin,libexec} )
2) LaunchAgents laufen nicht im privilegierten, sondern im Benutzerkontext.
Im Schlüsselbund des Benutzers, der die Aktion ausführt.Wie kann ich nun user & passwort speichern?
Eine privilegierte, systemweite Option ruft nach dem System-Keychain.
Ergebnis 1 bis 5 von 5
- 22.12.2009, 18:06 #1
Brauche Hilfe zu launchd und afp mount ich habe einen launchd job eingerichtet, der ein commandline tool ausführt. Das tool benötigt zwingend admin Rechte, daher ist es in /Library/LaunchAgents installiert. Problem ist nun ,dass ich auch ein afp laufwerk mounten muss! Da ich das passwort vorher nicht kenne, kann ich es auch nicht im code hinterlegen. Wie kann ich nun user & passwort speichern?
User und Passwort habe ich schon im Schlüsselbund abgelegt und wenn ich das Tool per terminal starte, dann wird das afp laufwerk auch gemountet. Aber als admin mittels launchd klappt es nicht (Fehler 22). Achso ich nutze netfs_MountURLWithAuthenticationSync.
Hoffe jemand kann mir helfen! Danke schön
Robert
- 22.12.2009, 23:15 #2
- 23.12.2009, 10:33 #3
Habe mich wahrscheinlich nicht richtig ausgedrückt
Ja, ich habe die plist in /Library/LaunchAgents installiert. Das Programm wird über ProgramArguments aufgerufen.
Was genau meinst du damit? Laut Apple laufen jobs in ~/Library/LaunchAgents als benutzer und in /Library/LaunchAgents bzw. /Library/LaunchDaemon als root. Das ist auch meine Erfahrung.
User und Passwort sind im aktuellen Benutzer Schlüsselbund gespeichert. Habe auch einen Eintrag im System Schlüsselbund gespeichert, aber das hilft nicht.
Wenn ich mein Programm als root im Terminal ausführe funktioniert es, aber wenn ich es als launchd job laufen lasse, dann kann ich mich nicht mit dem afp laufwerk verbinden. Wahrscheinlich werden launchd jobs mit einem anderen login ausgeführt? id gibt mir aus, dass der login user _spotlight ist.
Schöne Grüße
Robert
- 24.12.2009, 07:43 #4
Da hast du was missverstanden. Oder diese Passage übersprungen:
If you are running per-user background processes for Mac OS X v10.4 and later, launchd(8) is also the preferred way to start these processes. These per-user processes are referred to as user agents. A user agent is essentially identical to a daemon, but is specific to a given logged-in user and executes only while that user is logged in.LaunchDaemons laufen als root.
LaunchAgents laufen immer im Benutzerkontext (bei dessen Anmeldung).
Der einzige Unterschied der Agents im Benutzer- oder der im globalen Library-Ordner ist die Frage, ob der Job nur bei einem ganz bestimmten, oder bei allen Benutzern ausgeführt wird.
- 24.12.2009, 11:31 #5
Ähnliche Themen
-
HILFE!!! Mount Point verloren, wer kann helfen?
Von reinimac im Forum OS XAntworten: 7Letzter Beitrag: 06.03.2009, 14:20 -
!! HILFE !! Brauche Hilfe nach HDD-Tausch
Von HappyTurtle im Forum Mobil-MacsAntworten: 7Letzter Beitrag: 09.11.2008, 11:46 -
HILFE: iPhone mailbox BRAUCHE HILFE
Von Blackzilla im Forum Jailbreak, Unlock & Modifikationen (alle iOS-Geräte)Antworten: 7Letzter Beitrag: 25.08.2008, 20:43 -
Hilfe wichtige Daten; Festplatte wird nicht erkannt (kein mount point)
Von Geige5592 im Forum FestplattenAntworten: 2Letzter Beitrag: 05.11.2007, 20:19 -
launchd tut nicht
Von Wikinator im Forum Unix & TerminalAntworten: 14Letzter Beitrag: 25.02.2006, 13:52


Zitieren

Da muss ich wohl was in meinem Programm umbauen ... 