Ein Proxy-Passwort mit secret-tool abrufen
Ein Proxy-Passwort aus einer Shell-Startdatei heraushalten und dabei die Benutzersitzung und den Klartextwert berücksichtigen, den der Client benötigt.
In einer interaktiven Desktop-Sitzung mit Secret Service wird das Proxy-Geheimnis getrennt von seinen identifizierenden Attributen gespeichert:
secret-tool store --label='Work web proxy' purpose web-proxy host proxy.example
Das Geheimnis separat übergeben; aus Label und Attributen heraushalten. Zum Abrufen secret-tool lookup purpose web-proxy host proxy.example verwenden. Dieser Befehl gibt das passende Geheimnis auf der Standardausgabe aus, also die Ausgabe an die unterstützte Anmeldedaten-Schnittstelle des vorgesehenen Clients weitergeben und nicht an ein gemeinsam genutztes Diagnoseprotokoll.
Der Abruf benötigt die D-Bus-Sitzung des passenden Benutzers und einen verfügbaren Secret Service. Die Sammlung muss möglicherweise entsperrt werden. Ein Cron-Job bildet den entsperrten Zustand des Desktops nicht automatisch nach, und ein Abruf als root wählt nicht den Schlüsselbund eines anderen Benutzers.
Fehler beim Speicherabruf getrennt von abgelehnter Proxy-Authentifizierung behandeln. Ein leeres Passwort still zu senden und es erneut zu versuchen, verdeckt, welcher Vorgang fehlgeschlagen ist.
Getrennte Anmeldedatenfelder im Client bevorzugen, wenn sie unterstützt werden. Müssen Anmeldedaten in eine Proxy-URL, Benutzername und Passwort als URI-Komponenten kodieren; Shell-Quoting führt keine URL-Kodierung durch.
Der Schlüsselbund macht ein wörtliches Geheimnis in .profile überflüssig. Der abgerufene Wert liegt weiterhin im Speicher, und ein Export setzt ihn erbenden Kindprozessen aus. Geschützter Speicher macht diese Laufzeitumgebung nicht zu einem Geheimnistresor.