Java 从Tomcatservlet运行sudo命令
有没有办法让Tomcat7服务器(在Ubuntu服务器上运行)在命令行中执行sudo命令? 在这种情况下,我希望能够从另一台服务器关闭系统。 我必须使用什么代码? 我是否必须以root用户身份运行tomcat服务器,或者我是否可以在运行时获得这些权限,并且仅限于此操作?Java 从Tomcatservlet运行sudo命令,java,linux,tomcat,ubuntu,tomcat7,Java,Linux,Tomcat,Ubuntu,Tomcat7,有没有办法让Tomcat7服务器(在Ubuntu服务器上运行)在命令行中执行sudo命令? 在这种情况下,我希望能够从另一台服务器关闭系统。 我必须使用什么代码? 我是否必须以root用户身份运行tomcat服务器,或者我是否可以在运行时获得这些权限,并且仅限于此操作? 感谢您的帮助:)无需以root用户身份运行Tomcat,您只需将Tomcat用户添加到/etc/sudoers即可让他运行超级用户命令,如sudo shutdown now。通过这种方式,您可以指定用户可以执行的所需命令子集。例
感谢您的帮助:)无需以root用户身份运行Tomcat,您只需将Tomcat用户添加到
/etc/sudoers
即可让他运行超级用户命令,如sudo shutdown now
。通过这种方式,您可以指定用户可以执行的所需命令子集。例如,只允许他运行关机:
tomcat ALL=NOPASSWD: /sbin/shutdown
要从Java代码中运行shell命令,可以调用或使用
另外,请尝试在谷歌上搜索/etc/shutdown.allow
文件,该文件允许其中列出的任何用户运行shutdown命令。但我从未使用过它。不需要以root用户身份运行Tomcat,您只需将Tomcat用户添加到/etc/sudoers
中,即可让他运行超级用户命令,如sudo shutdown now
。通过这种方式,您可以指定用户可以执行的所需命令子集。例如,只允许他运行关机:
tomcat ALL=NOPASSWD: /sbin/shutdown
要从Java代码中运行shell命令,可以调用或使用
另外,请尝试在谷歌上搜索/etc/shutdown.allow
文件,该文件允许其中列出的任何用户运行shutdown命令。但是我从来没有使用过它。听起来是个非常糟糕的主意,但是如果tomcat进程由sudoer运行,您可以使用java.lang.process
运行您想要的任何命令。听起来是个非常糟糕的主意,但是如果tomcat进程由sudoer运行,您可以使用java.lang.Process
运行您想要的任何命令。