Ansible:无法从远程计算机切换用户

时间:2015-02-10 06:16:35

标签: ansible-playbook

我是Ansible的新手。尝试将一些文件复制到远程计算机。 我可以复制到远程服务器的tmp文件夹,但无法复制到特定的用户文件夹。

我认为我们可以切换到该特定用户。但是我无法使用playbook这样做。

请帮我解决这个问题。

此致 KP

1 个答案:

答案 0 :(得分:1)

这是许可问题。用于连接主机的用户无权写入其他用户文件夹。

如果您有权访问该用户帐户(例如,您接受了ssh密钥),则只需通过remote_user定义每个任务的用户:

- copy: src=...
        dest=...
  remote_user: <SET_OWNER_HERE>

如果您没有访问权限,则可以使用sudo标志执行具有root权限的任务。但请确保正确设置权限或用户可能无法读取/写入这些文件:

- copy: src=...
        dest=...
        owner=<SET_OWNER_HERE>
        group=<SET_GROUP_HERE>
        mode=0644
  sudo: yes

此外,您可以使用sudo_user

定义执行sudo命令的用户名
- copy: src=...
        dest=...
  sudo: yes
  sudo_user: <SET_OWNER_HERE>

如果sudo需要您的密码,则必须提供密码,否则任务将永久挂起而不会显示任何错误消息。

您可以在ansible.cfg

中全局定义
ask_sudo_pass=True

或者在拨打剧本时通过该选项:

ansible-playbook ... --ask-sudo-pass