Ich versuche, den Befehl „security find-internet-password“ zu verwenden, um meine Passwörter anzuzeigen. Ich möchte ein Skript schreiben, um meinen Schlüsselbund zu durchlaufen und alle meine Passwörter aufzulisten. Ich habe die Manpage aus Sicherheitsgründen gelesen und die Beispiele ausprobiert, kann aber keines meiner Passwörter zurückgeben.
Hier ist der Befehl aus der Manpage:
find-internet-password [-h] [-a account] [-s server] [options...] [-g] [keychain...]
-a account Match account string
-c creator Match creator (four-character code)
-C type Match type (four-character code)
-d securityDomain
Match securityDomain string
-D kind Match kind string
-j comment Match comment string
-l label Match label string
-p path Match path string
-P port Match port number
-r protocol Match protocol (four-character code)
-s server Match server string
-t authenticationType
Match authenticationType (four-character code)
-g Display the password for the item found
-w Display the password(only) for the item found
Ich habe mehrere Syntaxen für den Befehl ausprobiert, einschließlich des Leerlassens des Schlüsselbundwerts. In den folgenden Beispielen ist admin ein Kontoname für eines meiner Internetkonten. Ich würde es vorziehen, alle Passwörter auf einmal zu erhalten, aber wenn ich den Schlüsselbund auslege, entsteht ein unlesbares Durcheinander von Text mit vielen Tags, die ich nicht analysieren kann. Gibt es irgendwelche
$ security find-internet-password -a admin -g
$ security find-internet-password -a admin -g login
$ security fine-internet-password -a admin -g user
$ security find-internet-password -a admin -g /Users/Chilly/Library/Keychains/user
Ich würde es vorziehen, alle Passwörter auf einmal zu erhalten, aber wenn ich den Schlüsselbund auslege, entsteht ein unlesbares Durcheinander von Text mit vielen Tags, die ich nicht analysieren kann. Gibt es im Internet eine Dokumentation für das Format dieser Dump-Datei oder wie man sie analysiert. Vorschläge, die ich gesehen habe, besagen, die Datei einfach zu "grep", aber ich brauche Dokumentation, um zu wissen, wonach ich suchen muss. (und ein Handbuch zu grep und awk und sed zu lesen, aber diese sind weit verbreitet :-)
Dadurch werden Ihre Anmeldekennwörter ausgegeben:
sudo security dump-keychain -d login.keychain > keychain.txt
Und dies ist ein Skript, das es in ein für Menschen lesbares Format konvertieren kann: https://gist.github.com/rwest/1583781
NB: Das Ruby-Skript funktionierte bei mir erst, nachdem ich die Zeile mit .gsub!('htps', 'https');
.
Und optional ist hier ein Applescript, das automatisch auf das Dialogfeld zur Bestätigung der Betriebssystemsicherheit klickt: https://apple.stackexchange.com/a/137336/66812 .
klanomath
Jon