質問: aix/hp-uxでパスワード変更シェルを作成したい aix/hp-uxで一括でパスワード変更を実行するシェルを 作成したいと考えております。 (最終的には複数サーバの複数ユーザのパスワードを 一括変更したい) そこで、aixで以下の様なシェルを作成したのですが、 パスワード変更することができませんでした。 -------------------------------------- pass=$1 "新パスワード user=$2 "パス変するアカウント名 passwd $user sleep 5 $pass sleep 5 $pass -------------------------------------- passwdコマンド自体は実行されるのですが、 その後の新パスワードが入力されておらず、 passwdコマンドタイムアウト後に新パスワードが 実行され、"新パスワードの文字列"が見つかりません。 となってしまいます。 インターネット等で検索した結果、linuxであれば expectコマンドを使用して、passwdコマンドを実行した 際に出力される「新パスワード:」を待ってから 入力すればよいということがわかったのですが、 linuxでexpectコマンドに相当するものを、aixでは 見つけることができませんでした。 aix/hp-uxにおいて、シェルスクリプトにてパスワード 変更を実現する方法をご存知の方がいましたら、 教えてください。 よろしくお願いします。
回答: カテゴリはsolaris系ではなくbsd系の方がよろしいかと思います。 chpasswdというコマンドがあれば、そちらをお使いください。 なければ、下記のようにしてはどうでしょうか。 (sleep 5 ;echo $pass ;sleep 5 ;echo $pass) |passwd $user これでうまくいかないようでしたら。。。ちょっと手元にaixマシンがないので、月曜日までお待ちいただければ調べます。hp-uxについてはあいにく持ち合わせておりませんのでご勘弁ください。