0

我是 Unix 环境的新手,

我要做的是创建一个 API 来更改具有 Unix 环境的用户的密码。

4

3 回答 3

2

Be really careful when dealing with passwords so there is no leak. Use exec() to invoke the system command (typically passwd)

于 2012-10-10T05:59:44.173 回答
1

基本上,您需要使用用于更改密码的“passwd”unix 命令。

您需要使用ProcessBuilder从 java 调用此命令

或较旧的 API运行时

现在,如果您想以交互方式运行它,您还需要拦截 passwd 命令的输出(例如使用一些 ui 输入实际密码等)。在这种情况下,我建议您阅读这篇文章

您也可以考虑使用某种预定义的 shell 脚本,允许以非交互方式更改密码。在这种情况下,您只需调用脚本,它就会完成所有工作。

希望这可以帮助

于 2012-10-10T06:00:26.973 回答
1

一提示。调用该passwd命令后,您需要在 stdout 上打印 2 次密码,系统会要求您输入密码。

exec()要查看调用检查 后如何读取表单标准输入: http ://www.ensta-paristech.fr/~diam/java/online/io/javazine.html

于 2012-10-10T06:05:18.973 回答