Ich verwende den folgenden Befehl, um ein Kennwort aus dem Schlüsselbund in einem Shell-Skript abzurufen: security find-generic-password -w -s "MyServiceName"
Es funktioniert, aber es wird ein Popup-Fenster angezeigt, in dem ich nach dem Login-Schlüsselbund-Passwort gefragt werde:
security
möchte Ihre vertraulichen Informationen verwenden, die in "MyServiceName" in Ihrem Schlüsselbund gespeichert sind. Geben Sie dazu das Schlüsselbundkennwort "Login" ein.Mit den Optionen
Deny
,Allow
oderAlways Allow
Ich möchte jedoch nicht jedes Mal mein Schlüsselbundkennwort eingeben, daher kann ich "Zulassen" nicht verwenden und möchte lieber nicht "Immer zulassen", um hier ein gewisses Maß an Sicherheit zu gewährleisten.
Idealerweise möchte ich stattdessen eine Touch ID-Eingabeaufforderung erhalten. Gibt es eine Möglichkeit, dies zu tun?
Antworten:
Als ich dies untersuchte, konnte ich keine Methode finden, mit der der
security
Befehl Touch ID verwenden könnte. Dieser Artikel mit dem Titel: Verwenden der Touch-ID zur Authentifizierung von sudo unter Mac OS , der in einem Kommentar zursudo
Verwendung und anschließenden Verwendung der Touch-ID erwähnt wird, funktioniert hier nicht, da hierdurch das Hinzufügen dieser Zeile verwendet wird:in
sudo
die PAM-Datei ,/etc/pam.d/sudo
. Es gibt nichts Äquivalentes zumsecurity
Befehl, da er nicht verwendet wirdsudo
.Daher müssen Sie beim Ausführen des
security
Befehls eine der beiden im Dialogfeld genannten Methoden verwenden :Wenn Sie "Immer zulassen" auswählen, wird der Zugriff auf den
security
Befehl auf unbestimmte Zeit gewährt . Wenn Sie "Zulassen" auswählen, wirdsecurity
der Schlüsselbund nur einmal Zugriff gewährt.Beispiel
Hier habe ich ein Anwendungskennwortelement in Keychain mit dem Namen TestPassword erstellt.
Wir können sehen, dass nichts Zugriff darauf erhalten hat, indem wir auf die Registerkarte ACL dieses Dialogfelds schauen.
Wenn ich diesen
security
Befehl ausführe :Und permanent "Immer zulassen" bekomme ich das Passwort für diesen Artikel vom Schlüsselbund:
Aber was noch wichtiger ist, ich werde
security
der ACL für dieses Element im Schlüsselbund hinzufügen.quelle