使用ansible将文件复制到远程机器的/ etc / systemd /目录

时间:2016-07-04 15:11:28

标签: ansible

我是ansible的新手。我可能会说一些完全错误的事情。

我使用KVM创建了VM,远程和本地都在Ubuntu 16.0.4上运行

现在我通过创建一个密钥来配置ansible ssh-keygen -t rsa -b 4096 -C“D ... @ 192.168.111.113” 这个创建的密钥并将其复制到远程机器上 ssh-copy-id D ... @ 192.168.111.113 现在我测试了ssh正在工作,它运行正常。

我在[DDAS]组下的/ etc / ansible / hosts中添加了远程机器的地址。

现在我可以使用ansible ping远程机器了。然后我写了Playbook来复制文件。我工作正常,只能将文件复制到/ home / Das1 /。我的意思是,我可以将文件复制到不需要root权限的位置。

我想将这些文件复制到/ etc / systemd /目录而不是/ home / das1 /。我在playbook中更改了dest,但它提供了与权限相关的错误。

非常感谢任何帮助。

感谢 DAS

2 个答案:

答案 0 :(得分:1)

默认情况下,您的playbook任务在用于连接远程系统的用户的上下文中执行。 Ansible允许您使用change the user来运行剧本或个人任务。您可以创建一个新用户并将其授予您提到的目录,也可以使用内置root用户。

以root身份运行整个playbook,例如将其放在顶部,根据您的实际主机值进行调整:

- hosts: 192.168.111.113
  become: true
  become_user: root

  tasks:
    ...

答案 1 :(得分:0)

/ etc / systemd /目录可能没有为您正在使用的用户提供“写入”权限。

使用ls -lrt检查/ etc / systemd /的权限。