如何使用java代码向系统用户添加密码

如何使用java代码向系统用户添加密码,java,passwords,user-management,Java,Passwords,User Management,我需要使用java代码为我的系统帐户(Utisulateur-PC/Utisulateur°)指定密码。是否有任何java api或指示如何开始执行此操作?没有标准java api来执行此操作 您可以识别一个(特定于操作系统的!!)外部命令来执行此操作,然后使用Runtime.exec(…)或等效工具调用该命令 但是,我认为您最好直接执行此操作;例如,手动从命令行运行命令 在程序中修补系统帐户密码: 需要提升权限,而能够提升权限的程序是个坏主意 是潜在的危险,因为如果程序出错,它可能会有效地禁

我需要使用java代码为我的系统帐户(Utisulateur-PC/Utisulateur°)指定密码。是否有任何java api或指示如何开始执行此操作?

没有标准java api来执行此操作

您可以识别一个(特定于操作系统的!!)外部命令来执行此操作,然后使用
Runtime.exec(…)
或等效工具调用该命令

但是,我认为您最好直接执行此操作;例如,手动从命令行运行命令

在程序中修补系统帐户密码:

  • 需要提升权限,而能够提升权限的程序是个坏主意

  • 是潜在的危险,因为如果程序出错,它可能会有效地禁用该帐户。(具体危险程度取决于该帐户的重要性,以及是否有简单的方法来撤消损坏。)


我不知道是否有一些java api可以做到这一点,但您需要root权限才能做到这一点。是否可以执行允许从java向用户提供密码的命令“net user username*”?是的,通过
Runtime.exec
,正如Stephen C在其回答中所述。但请注意:java的目的是为了“WORA”(写一次,到处跑),因此您在java中编写的所有代码都应该是独立于系统的。还要注意,如果您的应用程序没有权限更改某些用户的密码,那么您的代码将无法正常运行感谢您的解释,但我需要以管理员身份通过Runtime.exec执行命令。我应该添加什么?没有,这不是您可以控制的。如果用户以管理员权限打开应用程序,然后您的程序将工作,否则将失败