tomcat中exec引起的权限问题

本文讨论了在Tomcat中使用exec命令启动应用时遇到的权限问题,特别是在非root用户环境下,导致获取Mac地址失败。通过分析和调试,发现是exec命令的影响。移除startup.sh中的exec命令后,问题得到解决。文章还介绍了exec命令的基本用法以及对问题的一些猜测。
摘要由CSDN通过智能技术生成

tomcat中exec引起的权限问题


一、场景描述

在之前的工作中与某第三方集成(接入他们的某个功能),需要获取服务器Mac地址鉴权;在开发过程中一点问题没有(开发环境是windows),测试环境也测试通过(测试环境是linux,但tomcat用的root启动),但部署到准生产环境后(准生产环境使用的是普通用户启动tomcat),签章的过程中抛出Exception,提示未授权,并且获取到的Mac为空。

出现这个情况后,怀疑可能是部署应用的user可能没有获取Mac地址的权限,当即使用XShell连接到准生产服务器用启动应用的user执行ifconfig -a(通过反编译看到他们获取Mac地址的代码是使用的这个命令)看能否获取到Mac地址,不出意料的是完全具有权限,可以获取到Mac地址。当即与第三方对接人员联系,他们回复说可能是没有权限,当他们知道user具有ifconfig -a的权限时,给出答复说他们那边看看怎么回事(结果是他们那边试了没有问题,叫我们用root启动试试。。。。。。。。。);后来用root启动后,果然一点问题没有,但生产环境我们不允许使用root启动tomcat应用。。。。。。。

后来使用tomcat的远程调试功能进行调试(catalina.sh jpda start),发现完全么有一点问题,Mac能够正常获取,能够正常鉴权,功能使用正常;但是通过startup.sh启动tomcat做测试时,仍旧抛出Exception,提示未授

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值