【发布时间】:2016-05-25 03:06:24
【问题描述】:
对不起,我没有明确提到我正在使用windows,所以与linux相关的解决方案 有没有办法通过另一个用户使用 java 执行进程(通过在代码中提供用户名和密码)?
目前我正在使用进程p = Runtime.getRuntime().exec("cmd"),但我需要以其他用户身份运行它。有没有支持这个的功能?还是java中的任何其他方法?
已编辑:对不起,我之前没有提到我在 Windows 上工作。所以linux os相关的解决方案不适用。
【问题讨论】:
-
我不知道有什么方法可以改变你的身份,而且这听起来很不安全。但是,您可能会使用该 exec 运行参数化脚本,该脚本使用 su 切换到该用户,然后执行您想要的操作?
-
This 线程(有点旧)可能会提供更多见解
-
是的,这是一个很好的线程,但我正在 Windows 中寻找一种方法,实际上当我使用 runas 命令时,它会询问用户密码,我需要通过 jar 文件中的 java 代码来做到这一点。以便它自动使用 runas 并在后端插入密码。