Frage

Zur Zeit unser Prozess besteht aus Protokollierung in jedem * nix-Server und das Kennwort manuell für jeden ändern. Meine Frage ist, was ist ein guter Weg, dies zu automatisieren? Ich denke an möglicherweise ein paar verschiedene Möglichkeiten, dies zu tun und möchte Eingabe von anderen auf, was sie empfehlen, Verwendung etc.

Ein Weg, ich dachte, ist eine Textdatei mit einer Liste von Servern, die das Passwort zu ändern und ein Skript, das fordert der Benutzer für das neue Kennwort ein, speichert sie vorübergehend in dem Skript und dann Remote-Connects in jeden Server benötigen und führt die Befehle. einen Scheck Mit sicher, dass der Server zu machen, ist erreichbar oder ein Timeout auf die Remote-Verbindung wäre eine gute Idee sein. haben dann auf der Konsole, so dass die Person, die das Skript ausgeführt wird, kann sehen, welche Server erfolgreich waren und welche nicht.

Ich habe versucht, eine andere vollautomatische Lösung zu denken, aber denken konnte nicht von einer guten Art und Weise sicher das neue Passwort zu speichern. Außerdem ist es keine große Sache für mich eine Interaktion mit dem Benutzer haben und müssen manuell das Skript starten, wie wir es nur diese 6 mal pro Jahr tun müssen.

Alle Gedanken, Hilfe wäre Ideen stark appeciated werden.

War es hilfreich?

Lösung

openssl passwd -1 $rootpw

Wo $ rootpw die Zeichenfolge enthält, die das Root-Passwort sein wird.

Dies wird Ausgang ein verschlüsseltes Zeichenfolge, die Sie gerade in der Datei setzen kann oder was auch immer. Ich benutze diese auf einem Skript, dass Sätze von virtuellen Server-Instanzen, die aus einer Datenbank bereitgestellt werden. Ich berechnen diesen Hash, bevor sie über das Netzwerk so das Skript zu senden, dass Sätze auf dem Server nur diesen Hash verwenden können, anstatt sie Klartext senden zu müssen.

Um Ihre Frage zu beantworten, jeder Server würde berechnet den Hash etwas anders und in einer anderen Hash-Ergebnis, aber alle diese Hashes mit dem gleichen Passwort entsprechen würde. Sie könnten eine dieser Hashes verwenden und sie würden funktionell gleichwertig sein, wenn sie auf einem beliebigen Server verwendet, obwohl der eigentliche Inhalt des Hash unterscheidet.

Zum Beispiel gehasht ich foobar und das sind die Ergebnisse:

rootpw=foobar
openssl passwd -1 $rootpw
$1$6pXamKGD$TKQqON1prArop7DpLOyAk1

openssl passwd -1 $rootpw
$1$4A4Mn16f$P7ap2AqNMRK8m72bG/Bve0

openssl passwd -1 $rootpw
$1$DyhsWEMX$i2wH6JpAqoHNFZ0YOBVHj/

openssl passwd -1 $rootpw
$1$m27FIj5e$LZPxVniAeUoZcuUoNHK8c/

openssl passwd -1 $rootpw
$1$qdX0NKm1$45rzxUj..LCJwWB/.fwGH0

Jeder dieser Hashes sind auch anders, wenn auf der gleichen Maschine berechnet, aber jeder von ihnen kann verwendet werden, auf jeder Maschine, um das Passwort ‚foobar‘ gleichzusetzen.

So einfach offen / etc / shadow und fügen Sie, dass dort, wo Sie die Zeile finden:

root:$1$qdX0NKm1$45rzxUj..LCJwWB/.fwGH0:14415:0:99999:7:::

In meinem Skript, das ich explodieren es bei der: 's und Update-Element [1] dann verketten das Array zurück in einen String und die Zeichenfolge in der Datei ersetzen. Sie können es anders machen, wenn Sie wollen, vor allem, wenn Sie den alten Wert kennen (die man durch explodier es in ein Array bekommen).

Ich weiß, diese Frage ein paar Monate alt ist, so dass Sie es wahrscheinlich herausgefunden, aber ich diese dort Putting out für jede künftige googler Kommen entlang und diese zu finden.

Andere Tipps

Sie sollten berechnen, was Hash sind Ihre Server auf einem Passwort und senden Passwörter in dieser gesichert, verschlüsselter Form Computing, bereit, in /etc/shadow zu setzen.

Ich weiß nicht jedoch wissen, wie das in der Praxis zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top