Ersetzen Sie die Kennwortabfrage durch Touch ID, um das Schlüsselbundkennwort zu lesen

14

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:

securitymö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, AllowoderAlways 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?

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

Antworten:

3

Als ich dies untersuchte, konnte ich keine Methode finden, mit der der securityBefehl 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 zur sudoVerwendung und anschließenden Verwendung der Touch-ID erwähnt wird, funktioniert hier nicht, da hierdurch das Hinzufügen dieser Zeile verwendet wird:

auth sufficient pam_tid.so

in sudodie PAM-Datei , /etc/pam.d/sudo. Es gibt nichts Äquivalentes zum securityBefehl, da er nicht verwendet wird sudo.

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

  • Immer erlaubt
  • ermöglichen

ss1

Wenn Sie "Immer zulassen" auswählen, wird der Zugriff auf den securityBefehl auf unbestimmte Zeit gewährt . Wenn Sie "Zulassen" auswählen, wird securityder Schlüsselbund nur einmal Zugriff gewährt.

Beispiel

Hier habe ich ein Anwendungskennwortelement in Keychain mit dem Namen TestPassword erstellt.

ss2

Wir können sehen, dass nichts Zugriff darauf erhalten hat, indem wir auf die Registerkarte ACL dieses Dialogfelds schauen.

ss3

Wenn ich diesen securityBefehl ausführe :

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

Und permanent "Immer zulassen" bekomme ich das Passwort für diesen Artikel vom Schlüsselbund:

TestPassword123

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

ss4

slm
quelle