【发布时间】:2014-02-20 10:02:52
【问题描述】:
Ian 想做的是从我的 WEB 应用程序运行一些外部程序或命令(.sh、.pl 甚至直接使用 ProcessBuilder 或 Runtime)
我成功地在我的服务器上运行程序或命令,但问题是所有这些都以 tomcat 用户身份运行。然后,例如,当我尝试使用带有公钥的 ssh 时,我需要执行 sudo -u "user" 然后运行程序或命令。但不幸的是,我不知道为什么,它不起作用。
经过三天的故障排除,prof&error 和谷歌它,我正在考虑运行我的应用程序或处理不同的用户,因此避免使用 sudo 命令。
然后,我想知道是否有人可以告诉我如何做到这一点,或者是否有其他最好的方法来做到这一点。
【问题讨论】:
-
只需为这个其他用户创建一个合适的 Tomcat 主目录。做起来并不难,关于它的文档比比皆是。
-
我不认为这是被问到的;我相信他想以用户“A”的身份运行 Tomcat,但在该 Tomcat 环境中以用户“B”的身份运行一个进程。而且我认为如果没有 sudo,你真的无法做到这一点;我的意思是这就是命令的用途。
标签: java linux tomcat sudo processbuilder