私はUnix環境に不慣れですが、
私がしなければならないのは、Unix環境を使用しているユーザーのパスワードを変更するためのAPIを作成することです。
パスワードを扱うときは、漏れがないように細心の注意を払ってください。exec()を使用してシステムコマンドを呼び出します(通常はpasswd
)
1つのヒント。コマンドを呼び出した後passwd
、システムがパスワードを要求するときに、stdoutにパスワードを2回印刷する必要があります。
exec()
チェック
を呼び出した後にフォームstdinを読み取る方法を確認するには、次のようにします。http ://www.ensta-paristech.fr/~diam/java/online/io/javazine.html
基本的に、パスワードの変更を目的とした「passwd」unixコマンドを使用する必要があります。
ProcessBuilderを使用して、Javaからこのコマンドを呼び出す必要があります
または古いAPIランタイム
ここで、passwdコマンドをインタラクティブに実行する場合(実際のパスワードを入力するためにUIを使用するなど)、passwdコマンドの出力をインターセプトする必要もあります。この場合、この記事を読むことをお勧めします
また、パスワードを非対話的に変更できる、ある種の事前定義されたシェルスクリプトの使用を検討することもできます。この場合、スクリプトを呼び出すだけで、すべての作業が実行されます。
お役に立てれば