在剧本中对本地主机使用 ping
Using ping on localhost in a playbook
我无法 运行 来自 ansible 主机的 ping 命令(使用 localhost,见下文)。
我构建了一个简单的剧本来 运行 ping 使用命令模块:
---
#
- name: GET INFO
hosts: localhost
tasks:
- name: return motd to registered var
command: "/usr/bin/ping 10.39.120.129"
register: mymotd
- name: debug output
debug: var=mymotd
但是,我这个错误:"ping: socket: Operation not permitted"
似乎存在权限问题。但是,查看 /usr/bin 目录,看起来 ping 对我来说是可执行的:
"-rwxr-xr-x. 1 root root 66176 Aug 4 2017 ping",
我无法成为或使用 sudo,似乎塔已为此锁定,我也无权更改它。
有人有什么建议吗?是什么让我想到这个,是因为我正在尝试 运行 ping 自定义模块并遇到类似的问题。
谢谢
ping
二进制文件需要设置 SETUID
位才能完全 运行 作为普通用户使用,这在您的服务器上不是这种情况。
您需要 运行 作为 root:
chmod u+s $(which ping)
如果您没有 root 访问权限并且无法由管理员完成此操作,恐怕您会被卡住...除非您尝试 ping 的服务器是您可以使用 ansible 管理的机器。
在后一种情况下,您可以使用 ping
module。它不是文档中所说的 ICMP ping。看看这个能不能用在你的情况下。
我能找到的关于 ping
权限的众多参考之一:https://ubuntuforums.org/showthread.php?t=927709
我无法 运行 来自 ansible 主机的 ping 命令(使用 localhost,见下文)。
我构建了一个简单的剧本来 运行 ping 使用命令模块:
---
#
- name: GET INFO
hosts: localhost
tasks:
- name: return motd to registered var
command: "/usr/bin/ping 10.39.120.129"
register: mymotd
- name: debug output
debug: var=mymotd
但是,我这个错误:"ping: socket: Operation not permitted"
似乎存在权限问题。但是,查看 /usr/bin 目录,看起来 ping 对我来说是可执行的:
"-rwxr-xr-x. 1 root root 66176 Aug 4 2017 ping",
我无法成为或使用 sudo,似乎塔已为此锁定,我也无权更改它。
有人有什么建议吗?是什么让我想到这个,是因为我正在尝试 运行 ping 自定义模块并遇到类似的问题。
谢谢
ping
二进制文件需要设置 SETUID
位才能完全 运行 作为普通用户使用,这在您的服务器上不是这种情况。
您需要 运行 作为 root:
chmod u+s $(which ping)
如果您没有 root 访问权限并且无法由管理员完成此操作,恐怕您会被卡住...除非您尝试 ping 的服务器是您可以使用 ansible 管理的机器。
在后一种情况下,您可以使用 ping
module。它不是文档中所说的 ICMP ping。看看这个能不能用在你的情况下。
我能找到的关于 ping
权限的众多参考之一:https://ubuntuforums.org/showthread.php?t=927709