【发布时间】:2025-12-20 19:30:06
【问题描述】:
如何从 Ansible 重启 iptables 服务(以重新加载配置文件 /etc/sysconfig/iptables)
我将处理程序 restart iptables 定义为
service: name=iptables enabled=yes state=restarted
但它会产生以下错误消息:
致命:[xx.xx.xx.xx]:失败! => {“改变”:假,“失败”:真, "msg": "无法停止 iptables.service: 交互式身份验证 必需。\n 无法启动 iptables.service: Interactive 需要身份验证。\n"}
我正在与CentOS Linux release 7.2.1511 (Core)合作
【问题讨论】:
-
您是否以 sudo 身份运行您的任务?
-
不,我没有使用 sudo。添加成为:是解决了问题。我想知道为什么错误消息具有误导性。通常缺少 sudo 会导致错误消息,例如“权限被拒绝”。
-
如果您以非特权用户的身份直接在盒子上运行
systemctl restart iptables(或等效的,如果您不使用 systemd),您会注意到您收到 sudo/gksudo 提示。这就是 Ansible 检测和出错的原因。 -
奇怪的是,登录会转到 root 帐户,但您仍然需要成为。