在没有root权限的情况下检查linux防火墙状态

时间:2012-01-18 14:08:55

标签: linux firewall iptables

我正在编写一个bash脚本,用于检查本地防火墙是否已启动,并根据状态执行某些操作。 理想情况下,我会在我的脚本中执行:

su root --session-command="/etc/init.d/iptables status" ;
status=$? ;

因此,如果status = 1,则意味着防火墙已关闭/未配置。并且,如果它为0,则意味着防火墙已启动。

但这需要用户在脚本执行期间输入root密码。

有没有办法在没有root权限的情况下查询iptables状态?

对不起,如果这是一个新手问题。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

Iptables是一个内核模块,所以寻找这个过程不会起作用。对于CentOS,至少,我找到了一个不错的方式来做到这一点,而不必给予特殊的sudo权限:

[aaron@tg1 ~]$ /sbin/lsmod|grep ip_tables
ip_tables              17831  1 iptable_filter
[aaronr@tg1 ~]$
sbin不是用户'通常是路径,因此是绝对参考。

参考:http://wiki.centos.org/HowTos/Network/IPTables