Eine sicherere Lösung als die von SvenW vorgeschlagene und eine, die eher der Vorgehensweise von Apple entspricht, besteht darin, das Kennwort zum Schlüsselbund hinzuzufügen. So würden Sie es für eine AFP-Freigabe tun (Ich gehe davon aus, dass Sie lediglich das durch die Option -r angegebene Protokoll ändern müssen, aber ich habe derzeit keine Möglichkeit, dies mit SMB zu testen. Beachten Sie, dass das Leerzeichen in "afp" ist beabsichtigt und notwendig und ich habe dies nur in einer 10.6-Umgebung verwendet):
sudo security add-internet-password -a "username_here" -D "Network Password" -r "afp " -l "cifs_share" -s "myserver.com" -p "cifs_share" -w "password_here" -T "/System/Library/CoreServices/NetAuthAgent.app/Contents/MacOS/NetAuthAgent"
Hier ist der relevante Teil der Manpage für den Sicherheitsbefehl :
add-internet-password [-h] [-a account] [-s server] [-w password] [options...] [keychain]
Add an internet password item.
-a account Specify account name (required)
-c creator Specify item creator (optional four-character code)
-C type Specify item type (optional four-character code)
-d domain Specify security domain string (optional)
-D kind Specify kind (default is "application password")
-j comment Specify comment string (optional)
-l label Specify label (if omitted, service name is used as default label)
-p path Specify path string (optional)
-P port Specify port number (optional)
-r protocol Specify protocol (optional four-character SecProtocolType, e.g. "http", "ftp ")
-s server Specify server name (required)
-t authenticationType
Specify authentication type (as a four-character SecAuthenticationType, default is "dflt")
-w password Specify password to be added
-A Allow any application to access this item without warning (insecure, not recommended!)
-T appPath Specify an application which may access this item (multiple -T options are allowed)
-U Update item if it already exists (if omitted, the item cannot already exist)
By default, the application which creates an item is trusted to access its data without warning. You can remove this default access
by explicitly specifying an empty app pathname: -T "". If no keychain is specified, the password is added to the default keychain.
Dasselbe sollte für eine SMB-Freigabe funktionieren, beachten Sie jedoch, dass der Mechanismus zum Abgleichen von Schlüsselbundeinträgen sehr speziell ist (z. B. das Erfordernis eines ungeraden Leerzeichens im Protokollnamen). Sie müssen also testen und genau angeben, wie Sie das Kennwort speichern. Als ich diesen Ansatz zum ersten Mal verwendete, stellte ich fest, dass es hilfreich war, das Kennwort im Schlüsselbund über die GUI zu erstellen, um die richtigen Parameter zu ermitteln (dh die Freigabe im Finder bereitzustellen und das Kontrollkästchen zu aktivieren, um die Authentifizierungsdaten im zu speichern Schlüsselbund) und arbeiten Sie rückwärts, indem Sie den resultierenden Eintrag im Schlüsselbund untersuchen.
Wie von SvenW festgestellt, muss der Schlüsselbund entsperrt werden, damit dieser Ansatz funktioniert. Dies sollte jedoch automatisch geschehen, wenn sich der Benutzer anmeldet, und sollte aufgrund Ihrer Beschreibung kein Problem darstellen. Ich möchte auch bestätigen, dass Kerberos zwar in 10.5 und 10.6 funktioniert, in 10.7 jedoch problematisch ist.