发现tomcat服务器共享管理存在很大的问题。
例如:有 2 个 Linux 帐户(ua 和 ub)分别负责启动/停止某个 tomcat 服务器。
ua:启动tomcat服务器并生成pid文件。
ub:尝试通过 停止 tomcat shutdown.sh -force
,但是它不起作用,因为 ub 无法终止由 ua 启动的进程。
除了共享单个 Linux 帐户之外,有没有其他好方法来处理这种情况?
答案1
为该服务创建一个帐户。设置 sudoers 以授予 ua ub 作为服务帐户运行的能力。就像这样。
# /etc/sudoers
ua,ub ALL= (service-account) /usr/sbin/daemon-programme,/bin/kill
其中 service-account 是帐户名。然后用户可以运行它,反之亦然。
ua $ sudo -u service-account /usr/bin/daemon-programme --pid-file /run/programme.pid
ub $ sudo -u service-account /bin/kill $(cat /run/programme.pid)