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