ルートパスワードが正しく変更されたことを確認する方法

ルートパスワードが正しく変更されたことを確認する方法

/etc/shadowファイルのルートパスワードハッシュを置き換えて複数のサーバーでルートパスワードを変更するOpsWare操作があります。

一種のスクリプトが必要です。可能な限りOpsWareを使用して再実行することをお勧めしますが、ハッシュを比較したくありません。ある種のsu(またはlogin)コマンドを実行し、実際のパスワード文字列を入力したいと思います。私がこれをしたいのは、過去に他の人が作成したハッシュが正しく暗号化されておらず、多数のサーバーでルートログインが拒否されたことです。

実装できるアイデアを探しています。expect考えてみましたが、私たちのビジネスの標準ユーティリティではなく、テスト後すぐにインストールして削除する必要があるため、「高速」ソリューションではありません。

アイデアや提案に感謝します。

ベストアンサー1

sshpassコマンドラインからオプションでパスワードを提供できるユーティリティがあります。このツールは、複数のホストで並列に実行するスクリプトを作成できます。sshpassJumpbox にインストールし、次の操作を行います。

sshpass -p password ssh root@host 'hostname;date;id'

そして、複数のホストで実行できるように、シェルループまたは他の方法(並列SSHまたはClustershなど)に含めます。

人々はこれが安全ではないと思うかもしれませんが、コマンドラインから実行すると、シェルの履歴を消去して画面を消去することができ、プレーンテキストパスワードの痕跡はありません。

おすすめ記事