有没有办法让 tomcat 7 服务器(在 Ubuntu 服务器上运行)在命令行中执行 sudo 命令?在这种特定情况下,我希望能够从另一台服务器关闭系统。我必须使用什么代码?我是否必须以 root 身份运行 tomcat 服务器,或者我可以在运行时获得这些权限并且仅用于此操作?谢谢你的帮助:)
问问题
3273 次
1 回答
1
无需以 root 身份运行 Tomcat,您只需添加 tomcat 用户/etc/sudoers
以允许他运行超级用户命令,例如sudo shutdown now
. 这种方式允许您指定可以由用户执行的所需命令子集。例如,只允许他跑步shutdown
:
tomcat ALL=NOPASSWD: /sbin/shutdown
要从 Java 代码运行 shell 命令,您可以调用其中之一Runtime.exec()
或使用ProcessBuilder
.
PS 还可以尝试搜索/etc/shutdown.allow
允许其中列出的任何用户运行关机命令的文件。但我从未使用过它。
于 2013-09-18T14:03:17.653 回答