Ersetzen Sie die Passwortabfrage durch Touch ID, um das Schlüsselbundpasswort zu lesen

Ich verwende den folgenden Befehl, um ein Passwort aus dem Schlüsselbund in einem Shell-Skript abzurufen:security find-generic-password -w -s "MyServiceName"

Es funktioniert, aber es zeigt ein Popup-Fenster, in dem ich nach dem Login-Schlüsselbund-Passwort gefragt werde:

securitymöchte Ihre vertraulichen Informationen, die in "MyServiceName" in Ihrem Schlüsselbund gespeichert sind, verwenden. Geben Sie dazu das Schlüsselbund-Passwort „login“ ein.

Mit den Optionen bis Deny, AllowoderAlways Allow

Aber ich möchte nicht jedes Mal mein Schlüsselbund-Passwort eingeben, also kann ich nicht "Zulassen" verwenden und ich 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?

Das wäre toll! Hast du etwas gefunden?
Ich bin mir nicht sicher, ob dies Ihre Frage beantwortet, aber Sie können sudo TouchID anstelle eines Passwortdialogs verwenden, siehe hier: osxdaily.com/2017/11/22/use-touch-id-sudo-mac

Antworten (1)

Als ich dies untersuchte, konnte ich keine Methode finden, die es dem securityBefehl ermöglichen würde, Touch ID zu verwenden. Dieser Artikel mit dem Titel: How to Use Touch ID to Authenticate sudo on Mac OS , der in einem Kommentar zur sudoVerwendung der Touch ID erwähnt wurde, funktioniert hier nicht, da die Hinzufügung dieser Zeile verwendet wird:

auth sufficient pam_tid.so

in sudodie PAM-Datei von , /etc/pam.d/sudo. Es gibt nichts Äquivalent zum securityBefehl, da er keinen Gebrauch macht sudo.

Daher müssen Sie beim Ausführen des securityBefehls eine der beiden im Dialogfeld genannten Methoden verwenden:

  • Immer erlaubt
  • Erlauben

SS1

Wenn Sie "Immer zulassen" auswählen, wird nur dem securityBefehl unbegrenzt Zugriff gewährt. Wenn Sie "Zulassen" auswählen, wird securitynur einmal Zugriff auf den Schlüsselbund gewährt.

Beispiel

Hier habe ich ein Anwendungskennwortelement im Schlüsselbund mit dem Namen TestPassword erstellt.

SS2

Wir können sehen, dass kein Zugriff darauf gewährt wurde, indem wir uns die Registerkarte ACL dieses Dialogfelds ansehen.

SS3

Wenn ich diesen securityBefehl ausführe:

$ security find-generic-password -w -s "TestPassword"

Und dauerhaft "Immer zulassen" wird mir das Passwort für diesen Artikel vom Schlüsselbund gegeben:

TestPassword123

Aber was noch wichtiger ist, ich werde securitydie ACL für dieses Element im Schlüsselbund hinzufügen.

SS4