0

我正在尝试使用 java.lang.Process 类从 Java 运行 unix 命令。我们如何传递特定用户,以便以该特定用户的权限执行命令?我不想用超级用户执行命令。

4

3 回答 3

2

您可以使用 ssh 会话,该会话与您知道其密码的用户一起记录并运行特定命令。

例如使用 java shell JSch

或者

期待4J

或者

Ganymed-ssh-2

顺便我在这里找到了一个好帖子: Jsch or SSHJ or Ganymed SSH-2?

于 2013-09-27T14:35:57.400 回答
1

您可以先启动一个login命令,然后在其中输入凭据。

我想开始su - [USER]应该可以解决问题。

通读后,apropos user我遇到了pkexec应该做你需要的命令。

于 2013-09-27T14:36:58.287 回答
0

您可以运行一个新的 shell 并执行将切换到另一个用户的命令,然后运行程序

于 2013-09-27T14:39:00.667 回答