我是 Unix 环境的新手,
我要做的是创建一个 API 来更改具有 Unix 环境的用户的密码。
Be really careful when dealing with passwords so there is no leak. Use exec() to invoke the system command (typically passwd)
基本上,您需要使用用于更改密码的“passwd”unix 命令。
您需要使用ProcessBuilder从 java 调用此命令
或较旧的 API运行时
现在,如果您想以交互方式运行它,您还需要拦截 passwd 命令的输出(例如使用一些 ui 输入实际密码等)。在这种情况下,我建议您阅读这篇文章
您也可以考虑使用某种预定义的 shell 脚本,允许以非交互方式更改密码。在这种情况下,您只需调用脚本,它就会完成所有工作。
希望这可以帮助
一提示。调用该passwd命令后,您需要在 stdout 上打印 2 次密码,系统会要求您输入密码。
exec()要查看调用检查
后如何读取表单标准输入: http ://www.ensta-paristech.fr/~diam/java/online/io/javazine.html