美好的一天,
我尝试配置Hippo cms(基于tomcat的应用程序)在我们自己的测试/开发服务器上运行。
我按照Hippo的手册页https://www.onehippo.org/library/enterprise/installation-and-configuration/linux-installation-manual.html和我们的沙盒服务器(ubuntu),一切都按照描述开箱即用 - 太棒了!根据手册,我将tomcat作为cms用户运行。手册规定在/ usr / local / tomcat下安装tomcat,然后创建一个新用户," cms"使用/ opt / cms中的主文件夹并在那里创建辅助tomcat配置,在" tomcat"文件夹只是为了运行和特定于Hippo cms的Tomcat实例。 Tomcat在/ opt / cms / tomcat目录中运行。
现在,我们在dev中使用vargant,这是使用RedHat,并且所有进程都应该以root身份运行(公司规则)。我按照相同的手册,在/ usr / loca /中安装tomcat,并根据手册配置辅助tomcat在/ opt / cms / tomcat中运行,除非这次我没有创建新用户 - 该文件夹由root拥有。 我在两种情况下使用相同的/etc/init.d/cms脚本来启动服务,但是在RHL上,tomcat从/ usr / local / tomcat启动,并且它没有选择在/ opt /下部署的Hippo webapps CMS / Tomcat的。
我知道仅凭这种粗略的描述难以诊断问题,但也许有人可以帮助我解决以下问题:
非常感谢, 内斯特
答案 0 :(得分:4)
- 为什么总是建议在自己的用户下运行tomcat?
醇>
由于安全最佳做法,在该实例上运行的每个网络应用都可以访问系统的每个部分,并且可以执行他们想要的一切。
最基本的安全漏洞可能让所有内容都运行rm -rf /
。 想一想,然后问自己,你是否真的想要#2的答案?
- 如何配置tomcat在root用户下运行并知道如何让tomcat以root身份运行?
醇>
不要因为#1而尝试这样做。
答案 1 :(得分:0)
我将重点关注你问题的第二部分:
假设您是房东,在您家中租房。你交出房间的人是他们个人房间的钥匙吗?或者你给每个人打开所有门的万能钥匙?!
这就是为什么正常的政策是尽可能少地运行 root 。因为 root 可以在您的系统上执行任何。换句话说:当有人设法突破tomcat时...那么他已经拥有了root权限。如果tomcat作为一些非root用户运行;入侵者仍有更多障碍需要克服;即使他设法打破了tomcat。
但我猜你的公司政策以root身份运行是关于没有连接到互联网的内部开发?!其他任何东西都会变成一个奇怪的"政策。
如果你在第一个问题上没有得到好的答案;我的建议:河马有自己的forum;我很确定在那里提出你的问题有更高的机会获得有用的,技术上正确的答案。