我正在编写一个bash脚本,用于检查本地防火墙是否已启动,并根据状态执行某些操作。 理想情况下,我会在我的脚本中执行:
su root --session-command="/etc/init.d/iptables status" ;
status=$? ;
因此,如果status = 1,则意味着防火墙已关闭/未配置。并且,如果它为0,则意味着防火墙已启动。
但这需要用户在脚本执行期间输入root密码。
有没有办法在没有root权限的情况下查询iptables状态?
对不起,如果这是一个新手问题。非常感谢您的帮助!
答案 0 :(得分:0)
Iptables是一个内核模块,所以寻找这个过程不会起作用。对于CentOS,至少,我找到了一个不错的方式来做到这一点,而不必给予特殊的sudo权限:
[aaron@tg1 ~]$ /sbin/lsmod|grep ip_tables
ip_tables 17831 1 iptable_filter
[aaronr@tg1 ~]$