确保 Tomcat7 实例以 tomcat7(或任何其他)用户身份运行的推荐方法是什么?
我想我可以修改tomcat7-instance/bin/startup.sh并tomcat7-instance/bin/shutdown.sh在顶部添加“su tomcat7”。
在 Tomcat6 中,我认为是环境变量TOMCAT6_USER。
Dav*_*que 13
最常见的方法是安装标准tomcat7包apt-get并使用以下命令启动它:
sudo service tomcat7 start
Run Code Online (Sandbox Code Playgroud)
/etc/default/tomcat7如您在此摘录中所见,已配置默认用户和组:
# Run Tomcat as this user ID. Not setting this or leaving it blank will use the
# default of tomcat7.
TOMCAT7_USER=tomcat7
# Run Tomcat as this group ID. Not setting this or leaving it blank will use
# the default of tomcat7.
TOMCAT7_GROUP=tomcat7
Run Code Online (Sandbox Code Playgroud)
ste*_*nix 11
编辑:请阅读下面的评论!此解决方案可能不适用于所有情况。
接受的答案很好,但由于我在 Ubuntu 14.04 上运行 Tomcat 7,因此我需要做一些额外的事情才能让一切正常运行:
/etc/default/tomcat7。更改用户和组后,将无法再停止使用旧用户的服务。更改文件中的用户和组 /etc/default/tomcat7
您需要更改文件夹/var/log/tomcat7及其所有文件的所有权。请注意,保留 adm 组是一个优势,以便所有 adm 用户都可以读取日志。
sudo chown -R newuser:adm /var/log/tomcat7
更改文件夹的所有权 /var/lib/tomcat7/webapps
sudo chown -R newuser:newgroup /var/lib/tomcat7/webapps
如果在 Ubuntu 14.04 上的端口 80/443 上运行,则需要更改 authbind 文件的所有权:
sudo chown newuser /etc/authbind/byport/80
sudo chown newuser /etc/authbind/byport/443
更改工作文件夹的所有权
sudo chown newuser:adm /var/cache/tomcat7
sudo chown -R newuser:newgroup /var/cache/tomcat7/Catalina
使配置文件可读。在这里,您有两个选择: 通过以下方式将新用户添加到 tomcat7 组:
sudo usermod -a -G tomcat7 newuser
...或更改配置文件的所有权:
sudo chown -R :newgroup /var/lib/tomcat7/conf/*
如果您的网络应用程序正在访问其他文件,例如日志文件配置文件等,那么您也需要更改这些文件的所有权。
编辑 2:升级到 tomcat 8 和 Ubuntu 18.04 后,以不同用户身份运行 tomcat 时出现另一个问题。在脚本中/etc/init.d/tomcat8,以下行似乎更改了 tomcat 用户的主文件夹,但如果您使用其他用户,则结果不是您想要的。
usermod --home /var/lib/tomcat8 $TOMCAT8_USER > /dev/null 2>&1 || true
Run Code Online (Sandbox Code Playgroud)
通过删除或注释掉这一行,您可以避免为新的 tomcat 用户更改主文件夹。
| 归档时间: |
|
| 查看次数: |
37649 次 |
| 最近记录: |