- 締切済み
UNIXのpasswd
UNIXユーザのパスワードを変更するAPIを知りませんか?passwdコマンドはTTY入力が必要なのでNGです。 アプリケーションの中からパスワード変更したいのですが該当するAPIをご存じの方、教えてください。 OSはSolarisです。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- hohihohi
- ベストアンサー率34% (23/66)
一番単純に考えるなら getpwent() で /etc/passwd を読んで、crypt() などを使って 作ったパスワード文字列で適当に編集したあと putpwent() する、という流れかと思います。man で調べるといろいろわかるとおもいます。
- 春原 なの(@ymda)
- ベストアンサー率37% (668/1777)
xpasswd が最も便利です。 http://www.bento.ad.jp/~fumiya/ ・・・といいたいのですが Not found になってしまってます(;;) ・・・9月3日にはあったのに(-_-) 最新版ではないかとおもいますが、必要であれば、参考URLからDLしてください。 標準入力を用いて、パスワードの設定ができます。
- 参考URL:
- http://www.daiba.cx/xpasswd/
- nekomilk
- ベストアンサー率24% (20/83)
poppassdというのが、あります。 ソケットで、パスワードを変更できます。
補足
ありがとうございます。 やってみます。
- selenity
- ベストアンサー率41% (324/772)
弱気な回答で申し訳ありませんが、 passwdコマンドのソースコードを眺めてみるのはいかがですか? FreeBSDやLinuxのものでも、参考にはなると思います。 popen()関数でpasswdコマンドを実行してあげれば、入出力は FILE *を経由してデータの受け渡しができるはずです。 P.S. アプリケーションってSolaris上のモノですよね??? WindowsアプリからSolaris上のパスワードを変更するのではないですよね?
補足
早速の回答ありがとうございます。 アプリケーションはSolaris上です。 popen()ですか、やってみます。
補足
ありがとうございます。 早速DLしてみます。