0

現在、私たちのプロセスは、各* nixサーバーにログインし、それぞれのパスワードを手動で変更することで構成されています。私の質問は、これを自動化するための良い方法は何ですか?私はこれを行うためにおそらくいくつかの異なる方法を考えており、彼らが推奨するもの、使用するものなどについて他の人からの意見を求めています。

私が考えていた方法の1つは、パスワードの変更が必要なサーバーのリストと、ユーザーに新しいパスワードの入力を求め、一時的にスクリプトに保存してから、各サーバーにリモート接続してコマンドを実行するスクリプトを含むテキストファイルです。サーバーが到達可能であることを確認するためのチェックを行うか、リモート接続でタイムアウトを設定することをお勧めします。次に、コンソールに出力して、スクリプトを実行している人が成功したサーバーと失敗したサーバーを確認できるようにします。

私は別の完全に自動化されたソリューションを考えようとしていましたが、新しいパスワードを安全に保存するための良い方法を考えることができませんでした。さらに、ユーザーとのやり取りがあり、スクリプトを手動で開始する必要があることは、私にとって大きな問題ではありません。これは、年に6回しか実行する必要がないためです。

どんな考え、助け、アイデアも大いに喜ばれるでしょう。

4

2 に答える 2

2
openssl passwd -1 $rootpw

$ rootpwは、rootパスワードとなる文字列を保持します。

これにより、ファイルなどに入れることができる暗号化された文字列が出力されます。これは、データベースからプロビジョニングされる仮想サーバーインスタンスをセットアップするスクリプトで使用します。このハッシュをネットワーク経由で送信する前に計算するので、サーバーをセットアップするスクリプトは、プレーンテキストを送信する代わりに、このハッシュを使用できます。

あなたの質問に答えるために、各サーバーはハッシュをわずかに異なって計算し、異なるハッシュをもたらしますが、それらのハッシュはすべて同じパスワードに相当します。これらのハッシュのいずれかを使用でき、ハッシュの実際の内容が異なっていても、任意のサーバーで使用すると機能的に同等になります。

たとえば、foobarをハッシュすると、次のような結果になります。

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

これらのハッシュはそれぞれ、同じマシンで計算された場合でも異なりますが、どのマシンでもパスワード「foobar」と同等にするために使用できます。

したがって、/ etc / shadowを開いて、次の行がある場所に貼り付けます。

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

私のスクリプトでは、:'sで展開し、要素[1]を更新してから、配列を連結して文字列に戻し、ファイル内の文字列を置き換えます。必要に応じて、特に古い値(配列に分解することで取得できる)がわかっている場合は、別の方法で行うことができます。

私はこの質問が数ヶ月前のものであることを知っているので、おそらくあなたはそれを理解しているでしょう、しかし私は将来のグーグルがやって来てこれを見つけるためにこれをそこに置いています。

于 2010-07-13T17:32:11.737 に答える
0

サーバーがパスワードで計算しているハッシュを計算し、この安全なハッシュ形式でパスワードを送信して、すぐに入力できるようにする必要があります/etc/shadow

しかし、実際にそれを行う方法はわかりません。

于 2010-04-08T15:46:01.663 に答える