我是Unix环境的新手,
我要做的是创建一个API来更改拥有Unix环境的用户的密码。
答案 0 :(得分:2)
在处理密码时要非常小心,以免泄漏。使用exec()调用系统命令(通常为passwd
)
答案 1 :(得分:1)
基本上你需要使用'passwd'unix命令来改变密码。
您需要使用ProcessBuilder
从java调用此命令或较旧的API Runtime
现在你还需要拦截passwd命令的输出,如果你想以交互方式运行它(比如用一些ui来输入实际的密码等等)。在这种情况下,我建议你阅读This article
您可以考虑使用某种预定义的shell脚本,以允许以非交互方式更改密码。在这种情况下,您只需调用脚本,它就可以完成所有工作。
希望这有帮助
答案 2 :(得分:1)
一个提示。在调用passwd
命令后,当系统要求时,您需要在stdout上打印密码2次。
要查看调用exec()
后的读取格式stdin:
http://www.ensta-paristech.fr/~diam/java/online/io/javazine.html