Ergebnis 1 bis 5 von 5
  1. #1
    Rheinischer Krummstiel
    Themenstarter
    Avatar von Duck Dodgers
    Registriert
    12.2009
    Ort
    Düsseldorf
    Beiträge
    377

    Frage 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

  2. #2
    Charlamowsky Avatar von Rastafari
    Registriert
    03.2005
    Beiträge
    12.959
    Zitat Zitat von Duck Dodgers Beitrag anzeigen
    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.
    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.

    Wie kann ich nun user & passwort speichern?
    Im Schlüsselbund des Benutzers, der die Aktion ausführt.
    Eine privilegierte, systemweite Option ruft nach dem System-Keychain.

  3. #3
    Rheinischer Krummstiel
    Themenstarter
    Avatar von Duck Dodgers
    Registriert
    12.2009
    Ort
    Düsseldorf
    Beiträge
    377
    Zitat Zitat von Rastafari Beitrag anzeigen
    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}
    Habe mich wahrscheinlich nicht richtig ausgedrückt Ja, ich habe die plist in /Library/LaunchAgents installiert. Das Programm wird über ProgramArguments aufgerufen.

    Zitat Zitat von Rastafari Beitrag anzeigen
    2) LaunchAgents laufen nicht im privilegierten, sondern im Benutzerkontext.
    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.

    Zitat Zitat von Rastafari Beitrag anzeigen
    Im Schlüsselbund des Benutzers, der die Aktion ausführt.
    Eine privilegierte, systemweite Option ruft nach dem System-Keychain.
    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

  4. #4
    Charlamowsky Avatar von Rastafari
    Registriert
    03.2005
    Beiträge
    12.959
    Zitat Zitat von Duck Dodgers Beitrag anzeigen
    Laut Apple laufen jobs in ~/Library/LaunchAgents als benutzer und in /Library/LaunchAgents bzw. /Library/LaunchDaemon als root.
    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.

  5. #5
    Rheinischer Krummstiel
    Themenstarter
    Avatar von Duck Dodgers
    Registriert
    12.2009
    Ort
    Düsseldorf
    Beiträge
    377
    Zitat Zitat von Rastafari Beitrag anzeigen
    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.
    Achso, das verstehe ich jetzt. Besten Dank Da muss ich wohl was in meinem Programm umbauen ...

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 06.03.2009, 14:20
  2. !! HILFE !! Brauche Hilfe nach HDD-Tausch
    Von HappyTurtle im Forum Mobil-Macs
    Antworten: 7
    Letzter Beitrag: 09.11.2008, 11:46
  3. HILFE: iPhone mailbox BRAUCHE HILFE
    Von Blackzilla im Forum Jailbreak, Unlock & Modifikationen (alle iOS-Geräte)
    Antworten: 7
    Letzter Beitrag: 25.08.2008, 20:43
  4. Antworten: 2
    Letzter Beitrag: 05.11.2007, 20:19
  5. launchd tut nicht
    Von Wikinator im Forum Unix & Terminal
    Antworten: 14
    Letzter Beitrag: 25.02.2006, 13:52

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •