Was für ein Service? Bestimmte Dienste verfügen über andere Authentifizierungsmethoden, z. B. SSH-Schlüssel für SSH in Verbindung mit dem SSH-Agenten.
Ich würde das Kennwort getrennt vom Skript speichern und sicherstellen, dass alle Pfadkomponenten über die richtigen Berechtigungen verfügen. Zum Beispiel, stellen Sie sicher , dass auf dem Weg /path/to/file, /, /pathund /path/tovon einem Benutzer , die Sie vertrauen Besitz ( root) und dass diese nicht beschreibbar von jemandem, der nicht erlaubt ist , Ihre Dateien zu sehen. Die empfohlenen Berechtigungen für filesind 600 oder 400.
Das filekönnte so aussehen:
PASSWORD='something that you cannot remember'
Verwenden Sie in Ihrem Skript den folgenden Code, um die Variable zu importieren:
. /path/to/file
Stellen Sie sicher, dass Ihr Skript keine Lücken enthält, die es Angreifern ermöglichen könnten, Code im Skriptkontext auszuführen (z. B. unkontrollierte Umgebung, in der möglicherweise eine beliebige $PATHVariable festgelegt ist, oder ungültige Verwendung anderer Dateien (z. B. Beschaffung einer von der Welt beschreibbaren Datei). .
Was den eigentlichen Schutz Ihres Passworts angeht, können Sie das nicht. Es muss irgendwie für den anderen Dienst verfügbar sein. Alternativ können Sie die Datei / das Skript mit dem Kennwort verschlüsseln, openssloder gpgSie müssen ein Kennwort eingeben, bevor die Anmeldeinformationen entsperrt werden. Dies ist besonders nützlich, wenn Sie sich das Passwort Ihres Dienstes nur schwer merken können.