【问题标题】:Run Process builder script as another user以其他用户身份运行流程构建器脚本
【发布时间】:2023-09-08 06:40:01
【问题描述】:

我在我的实例中运行 su 命令

su - myuser

但我不确定如何以该用户身份运行脚本

String cmd = script.getScriptPath() + "/" + script.getScriptName();
ProcessBuilder pb = new ProcessBuilder(cmd);
Process p = pb.start();
// wait for script to end before output
p.waitFor();
exitCode = p.exitValue();

非常感谢有关如何执行此操作的建议,谢谢

编辑:我从 root 开始,所以从实例内部进行操作时通常不需要提供密码,我假设我不需要通过流程构建器?

【问题讨论】:

  • 这就是 sudo 的用途。

标签: java linux processbuilder


【解决方案1】:

万一其他人遇到这种情况:)

command = new String[] {"su", "-sl", userName, "-c", scriptName};

-l 参数使用给定用户的环境变量,然后将其发送到进程构建器

【讨论】:

    最近更新 更多