用另一个id执行java

时间:2010-09-30 18:10:19

标签: java

我想知道如何用不同的userName和密码执行java Application。 例如: 现在:当我这样做时,

System.getProperty("user.name"); 

我得到user1

但我希望以这样一种方式编程:user2

有人可以帮助我如何使用Java或bat文件来完成此任务。 任何形式的帮助都表示赞赏。

4 个答案:

答案 0 :(得分:6)

java系统属性user.name由操作系统设置。因此,如果您以其他用户身份登录并开始使用java程序,它将在该用户名下运行。

但您也可以更改执行程序的用户(如果您有足够的权限!)。

Linux :使用sudo命令

sudo -u user2 java yourprogram

(但您需要sudo rights,例如 root

Windows 使用runas命令:

runas /user:domain\user2 java yourprogram

答案 1 :(得分:2)

您可以覆盖此值,与使用

的任何其他系统属性相同
java -Duser.name=my-new-user

System.setProperty("user.name", "my-new-user"); 

注意:两个解决方案都不会更改进程的用户标识,只会更改System.getProperty(“user.name”)返回的值;

答案 2 :(得分:1)

您需要切换到用户2(Linux上的su user2),然后运行您的程序。

答案 3 :(得分:1)

如果您在Windows上执行此操作,则可以在批处理文件中使用runas命令在其他用户的上下文中运行。在Unix / Linux系统上,您可以使用su命令。