【发布时间】:2017-06-28 06:09:53
【问题描述】:
我需要编写一个 shell 脚本,我需要在其中反弹 Tomcat 服务器(它可能在任何人的系统上)。因此,我想知道我应该如何检查 tomcat 是作为服务运行的“service tomcat6 start”还是脚本“./bin/startup.sh”?
【问题讨论】:
标签: shell tomcat startup centos7
我需要编写一个 shell 脚本,我需要在其中反弹 Tomcat 服务器(它可能在任何人的系统上)。因此,我想知道我应该如何检查 tomcat 是作为服务运行的“service tomcat6 start”还是脚本“./bin/startup.sh”?
【问题讨论】:
标签: shell tomcat startup centos7
如果这是用于生产服务器:假设它始终作为服务启动。如果你发现它不是:找到从 shell 开始的人并解雇他们。
硬话,但在生产系统上:移交,让它们按照标准运行。如果您自动弹跳(重新启动):这就是您所做的。
通过 startup.sh 启动时的危险:无论用户执行脚本,该进程都将启动 - 可能缺乏对日志和临时文件的写入权限,或者在服务可以通过 service tomcat start 进行下一次启动时破坏它'不再访问这些文件。
想一想:在 startup.sh(或 setenv.sh)中检查(至少)当前用户的身份并在不是预期的用户时终止可能是个好主意。因此有效地禁止以普通用户身份运行 startup.sh,包括 root。
【讨论】: