シェルスクリプトからユーザーアカウントのパスワードを検証する

シェルスクリプトからユーザーアカウントのパスワードを検証する

アプリケーションは複数サーバーの標準化スクリプト用です

OS アカウント (AIX) のパスワードが標準化されたプレーンテキスト パスワードと一致するかどうかをシェル スクリプトで確認する方法を探しています。

問題はroot、アクセスcもコンパイラももなくpython、 を含む追加ソフトウェアをインストールできないことですexpect

今のところ解決策が見つかっていません…何かアイデアはありますか?

答え1

私は思い切って、以前のコメントを回答に昇格させようと思います。ルート アクセスなしで、AIX システムのデフォルトのセキュリティを破ることなく (パスワード ファイルを非ルート ユーザーに公開することによって)、非ルート ユーザーは暗号化されたパスワード ファイルを読み取ることができないため、非ルート ユーザーは既存のパスワードと任意のパスワードを比較することはできません。

私が想像できる最良のオプションは、アカウントと想定パスワードでログインを試み、結果を確認することです。システムに対してローカルで実行している場合は、ローカルホストに telnet または ssh できます。リモートの場合は、実行されている外部ログイン方法 (ssh など) に制限されます。ログイン プロセスを perl または expect でラップして、機能するかどうかを確認します。(AIX システム自体にこのようなツールをインストールできない場合は、リモート システムから使用またはインストールします)。この方法の小さな欠点の 1 つは、パスワードが正しくない場合、そのユーザーの失敗したログイン試行が 1 つ増えることです。おそらくアカウントがロックアウトされることはありませんが、注意が必要です。

関連情報