java调用SHELL脚本问题
情况如下: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脚本,却又成功!
之前也遇到过这类问题,特别是高权限要求的命令,出现这种问题的可能性要大很多,个人认为可能是权限方面的问题
希望高手能分享一下经验 我把测试环境跑起来后,发现测试环境功能正常,java调用SHELL没有任何问题,怪了,自己顶顶, 直接给java付777权限 whilvydy 发表于 2012-05-30 14:47 static/image/common/back.gif
情况如下:
java调用一shell脚本,shell中,对iptables命令,用来打开或者关闭服务器端口,
开发阶段和使用阶段启动java的用户的权限一样么 whilvydy 发表于 2012-05-30 14:47 static/image/common/back.gif
情况如下:
java调用一shell脚本,shell中,对iptables命令,用来打开或者关闭服务器端口,
貌似用非root权限也可以使用iptables命令
是不是SELinux的原因 方兆国 发表于 2012-06-20 15:44 static/image/common/back.gif
貌似用非root权限也可以使用iptables命令
是不是SELinux的原因
感觉是权限问题,围观。。。。。。。。。。。。 回复 6# txoscarr
SELinux是增强的权限管理,他划分的更细致些 服务器程序在后台调用shell命令的开销比较大,简单的进程间通信的方式效果可能会比较好,而且调错也方便 搞不定,直接修改/etc/sysconfig/iptables了,它和我过不去,我不和它过不去
页:
[1]