![iptables -L ---> 用法:/etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save}](https://linux22.com/image/531340/iptables%20-L%20---%3E%20%E7%94%A8%E6%B3%95%EF%BC%9A%2Fetc%2Finit.d%2Fiptables%20%7Bstart%7Cstop%7Crestart%7Ccondrestart%7Cstatus%7Cpanic%7Csave%7D.png)
我正在运行 CentOS 5。当我输入
iptables -L
我明白
用法:iptables {start|stop|restart|condrestart|status|panic|save}
它出什么问题了?
答案1
你能告诉我们你的$PATH
和 的输出吗which iptables
?乍一看,我觉得你似乎/etc/init.d/iptables
更喜欢/sbin/iptables
。
如果是这样,解决方法是找出 /etc/init.d 是如何进入您的 PATH 的,然后将其删除。将它放在那里似乎很有吸引力,但拾取错误的东西的可能性太大了(例如,sendmail,您可能会拾取服务启动脚本而不是实际的 MTA 二进制文件,并且类似的命令sendmail -q -v
也会出错)。
答案2
尝试这个:
From your user account:
su -
iptables -L
Cent 不会像其他发行版那样默认将 /sbin/ 添加到用户帐户路径中,所以我敢打赌你以自己的身份登录,通过某种未正确更新环境的方式获得 root 访问权限(或者你在发布之前尝试将奇怪的东西添加到路径中以解决问题),现在你正在运行 iptables 的 init 脚本。上述方法可让你在 root 环境中获得 root 访问权限。