1

我有一个 python 脚本,它使用ansible包来 ping 一些远程服务器。手动执行时(python devmanager.py)它工作正常,但是当脚本由主管管理时,它会引发以下错误:

Could not make dir /$HOME/.ansible/cp: [Errno 13] Permission denied: '/$HOME

ansible 命令非常简单:

    runner = ansible.runner.Runner(
            module_name='ping',
            module_args='',
            forks=10,
            inventory=inventory
    )

源系统和目标系统中的相同用户。我检查了 $HOME 文件夹的权限,没有发现任何奇怪的东西。

知道发生了什么吗?它不知道翻译 $HOME 变量吗?

4

2 回答 2

1

您可以通过更改 ansible.cfg 中的参数“remote_tmp”来尝试。

默认:-$HOME/.ansible/tmp

更新:-/tmp/.ansible/tmp

在这种情况下,用户尝试运行 playbook 的人将有足够的权限在 /tmp 目录中创建必要的临时文件。

于 2015-08-13T03:32:49.280 回答
0

是的,它似乎没有转义$HOME变量并尝试在/$HOME.

于 2015-08-12T09:55:49.923 回答