1

有没有办法让 tomcat 7 服务器(在 Ubuntu 服务器上运行)在命令行中执行 sudo 命令?在这种特定情况下,我希望能够从另一台服务器关闭系统。我必须使用什么代码?我是否必须以 root 身份运行 tomcat 服务器,或者我可以在运行时获得这些权限并且仅用于此操作?谢谢你的帮助:)

4

1 回答 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 回答