免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5013 | 回复: 8
打印 上一主题 下一主题

java调用SHELL脚本问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-30 14:47 |只看该作者 |倒序浏览
情况如下:

java调用一shell脚本,shell中,对iptables命令,用来打开或者关闭服务器端口,
开发阶段,一切都正常,直到上线,也能正常运行

过了一个月左右的时间,系统在java调用SHELL这一模块时,出现问题如下:
java调用shell成功,shell里面的echo等命令都是执行了的,且有返回结果
但SHELL中,iptables命令这一部分,却看不到执行效果(有可能iptables命令就没有执行,因为iptables -L后根本没有变化)

手动在SSH中,去执行对应的SHELL脚本(root权限),明显可见iptables的命令是执行成功了的(通过iptables -L 可以查看到对应的规则的修改)

总结问题如下:
新上线的一个月左右,用java去调用带有iptables命令的SHELL脚本,一切正常
一个月后,就不正常了,
期间并未修改过服务器的配制
但SSH下手动执行SHELL脚本,却又成功!




之前也遇到过这类问题,特别是高权限要求的命令,出现这种问题的可能性要大很多,个人认为可能是权限方面的问题



希望高手能分享一下经验

论坛徽章:
0
2 [报告]
发表于 2012-05-30 16:46 |只看该作者
我把测试环境跑起来后,发现测试环境功能正常,java调用SHELL没有任何问题,怪了,自己顶顶,

论坛徽章:
0
3 [报告]
发表于 2012-06-20 14:14 |只看该作者
直接给java付777权限

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
4 [报告]
发表于 2012-06-20 15:42 |只看该作者
whilvydy 发表于 2012-05-30 14:47
情况如下:

java调用一shell脚本,shell中,对iptables命令,用来打开或者关闭服务器端口,

开发阶段和使用阶段启动java的用户的权限一样么

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
5 [报告]
发表于 2012-06-20 15:44 |只看该作者
whilvydy 发表于 2012-05-30 14:47
情况如下:

java调用一shell脚本,shell中,对iptables命令,用来打开或者关闭服务器端口,


貌似用非root权限也可以使用iptables命令

是不是SELinux的原因

论坛徽章:
0
6 [报告]
发表于 2012-06-20 16:22 |只看该作者
方兆国 发表于 2012-06-20 15:44
貌似用非root权限也可以使用iptables命令

是不是SELinux的原因


感觉是权限问题,围观。。。。。。。。。。。。

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
7 [报告]
发表于 2012-06-21 00:39 |只看该作者
回复 6# txoscarr


    SELinux是增强的权限管理,他划分的更细致些

论坛徽章:
0
8 [报告]
发表于 2012-06-21 21:40 |只看该作者
服务器程序在后台调用shell命令的开销比较大,简单的进程间通信的方式效果可能会比较好,而且调错也方便

论坛徽章:
0
9 [报告]
发表于 2012-12-04 11:26 |只看该作者
搞不定,直接修改/etc/sysconfig/iptables了,它和我过不去,我不和它过不去
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP