Das Übergeben eines Kennworts in einer Umgebungsvariablen ist so sicher, als würde das Programm es aus einer Datei lesen. Nur Prozesse, die als derselbe Benutzer ausgeführt werden, dürfen die Umgebung eines Prozesses lesen , und diese Prozesse dürfen sowieso die gleichen Dateien lesen.
Beachten Sie, dass dies nicht mit der Übergabe eines Kennworts in der Befehlszeile identisch ist. Befehlszeilenargumente können von allen Prozessen gelesen werden, die auf demselben Computer ausgeführt werden (Härtungsmaßnahmen vorbehalten), nicht nur von Prozessen, die als derselbe Benutzer ausgeführt werden.
Wenn Sie eine Variable durch die Umgebung übergeben, achten Sie darauf, dass das Programm andere Programme startet. Diese anderen Programme erben die Umgebung ihrer Eltern. Tun Sie dies also nicht, wenn Sie befürchten, dass die anderen Programme versehentlich den Inhalt ihrer Umgebung verlieren könnten.
Der Fehler in Ihrem Szenario besteht darin, dass Sie beim Einrichten des Serversystems eine geeignete Umgebungsvariable erstellen. Eine Umgebungsvariable ist eine dynamische Eigenschaft eines Prozesses. Sie können es beim Einrichten eines Systems nicht erstellen, nicht wenn Sie mit dem Einrichten etwas meinen, das einen Neustart überlebt. Was Sie meinen , ist vermutlich , dass der Administrator für diese Variable angeordnet , die in der Umgebung vorhanden sein , wenn ein bestimmter Benutzer anmeldet. Dies wird durch eine Konfigurationsdatei durchgeführt wird ( in der Regel ~/.pam_environment
oder ~/.profile
oder eine Datei lesen aus ~/.profile
). Diese Lösung verschiebt das Kennwort also nicht aus den Konfigurationsdateien.
Das Einrichten von Kennwörtern in der Anmeldeumgebung eines Benutzers ist keine gute Idee. Dies bedeutet, dass jeder Prozess, der als dieser Benutzer ausgeführt wird, das Geheimnis hat, sodass er überall für ein Leck anfällig ist.
Ein Kennwort sollte in eine Datei eingefügt werden, die sich von den Konfigurationsdateien, die der Versionskontrolle unterliegen, und von den normalen Bereitstellungsmechanismen unterscheidet. Es ist in Ordnung, das Kennwort irgendwann in die Umgebung einzugeben, wenn dies zweckmäßig ist, es sollte jedoch für eine möglichst kleine Anzahl von Programmen durchgeführt werden.