我使用Java-7和来使用Tomcat 7运行shell脚本。
processBuilder = new ProcessBuilder("/bin/bash", "/opt/script.sh");
processBuilder.start();由于上面提到了通过Tomcat7服务器托管的JSP调用的代码,因此命令运行但进程无法继续,因为它是由tomcat7用户(tomcat的默认用户)启动的,假设我知道根密码,如何将此命令作为根用户运行?
发布于 2017-04-26 04:25:55
使用数独运行命令
实际上,sudo允许用户作为另一个用户(通常是根用户)运行程序。
ProcessBuilder b = new ProcessBuilder("/bin/sh", "-c", "echo <password> | sudo -S /opt/script.sh");
b.start();https://stackoverflow.com/questions/43623650
复制相似问题