2017-02-16 6 views
2

Oft müssen wir Passwort in der Umgebungsvariablen in der Entwicklungsumgebung haben. Aber ich stelle meine dotfiles gerne auf github, damit ich ein sehr portables Setup habe.Mac verwenden keychain Passwort für Umgebungsvariable

Es ist jedoch definitiv keine gute Idee, ein Passwort in diesen dotfiles zu behalten, um es auf github zu setzen, oder einfach nur allgemein.

Mac kommt mit Keychain, die Passwörter verschlüsseln und speichern würde. Wie kann ich das nutzen, um Passwörter zu behalten und in der Umgebungsvariable zu setzen?

Insbesondere Shell-Skript kann ich in .bashrc setzen, die geladen werden, wenn ich eine neue Bash-Sitzung öffne.

Antwort

3

Erstellen Sie ein Passwort in Ihrem Schlüsselbund. AWS_DATABASE_PASSWORD unten ist der Kontoname anstelle des Schlüsselbund-Objektnamens. Geben Sie dieses Skript in Ihre .bashrc ein.

get_pw() { 
    security find-generic-password -ga "$1" -w 
} 
export AWS_DATABASE_PASSWORD="$(get_pw AWS_DATABASE_PASSWORD)" 
+0

Wenn der Kontoname Leerzeichen haben kann, sollten Sie besser Zitat '„$ 1“' in der Funktion –

+0

@glennjackman guten Fang. Vielen Dank! –

+0

Beachten Sie, dass es möglich ist, die Umgebung eines Prozesses mit "ps -E" zu sehen, die das Passwort offen legen könnte. – chepner

Verwandte Themen