Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ansible中使用chown命令?_Ansible_Ansible 2.x_Chown - Fatal编程技术网

在ansible中使用chown命令?

在ansible中使用chown命令?,ansible,ansible-2.x,chown,Ansible,Ansible 2.x,Chown,我在ubuntu中有一个命令 sudo chown $(id -u):$(id -g) $HOME/.kube/config 我想转换成易懂的脚本。我在下面试过 - name: Changing ownership command: chown $(id -u):$(id -g) $HOME/.kube/config become: true 但我得到的错误如下 致命:[ubuntu]:失败!=>{“更改”:t>fatal:[ubuntu]:失败!=>{“更改

我在ubuntu中有一个命令

  sudo chown $(id -u):$(id -g) $HOME/.kube/config 
我想转换成易懂的脚本。我在下面试过

- name: Changing ownership
      command: chown $(id -u):$(id -g) $HOME/.kube/config
      become: true 
但我得到的错误如下

致命:[ubuntu]:失败!=>{“更改”:t>fatal:[ubuntu]:失败!=>{“更改”:true,“cmd”:[“chown”,“$(id”, “-u:$(id“,“-g)”,“$HOME/.kube/config”],“delta:“0:00:00.003948”, “结束”:“2019-07-17 07:22:31.798773”,“消息”:“非零返回码”, “rc”:1,“开始”:“2019-07-17 07:22:31.794825”,“标准”:“周: 无效选项--“u”\n有关详细信息,请尝试“chown--help”, “stderr_行”:[“chown:invalid option--'u'”,请尝试“chown--help” 有关详细信息,请参见“],“stdout”:“,“stdout_行”:[]}rue,“cmd”:[“chown”,“$(id”, “-u:$(id“,“-g)”,“$HOME/.kube/config”],“delta:“0:00:00.003948”, “结束”:“2019-07-17 07:22:31.798773”,“消息”:“非零返回码”, “rc”:1,“开始”:“2019-07-17 07:22:31.794825”,“标准”:“周: 无效选项--“u”\n有关详细信息,请尝试“chown--help”, “stderr_行”:[“chown:invalid option--'u'”,请尝试“chown--help” 有关详细信息,请参见“],“标准输出”:“,“标准输出行”:[]}

编辑: 文件模块也不工作

  - name: Create a symbolic link
    file:
      path: $HOME/.kube
      owner: $(id -u)
      group: $(id -g)
试试下面

  - name: chown to username you login and chmod as required
    file:
      path: $HOME/.kube/config
      owner: "{{ ansible_user }}"
      group: "{{ ansible_user }}"
      mode: 0644

假设文件已经存在,并且您只想更改权限,您可以从Ansible facts中检索用户ID和组,并执行以下操作:

- name: Change kubeconfig file permission
  file:
    path: $HOME/.kube/config 
    owner: "{{ ansible_effective_user_id }}"
    group: "{{ ansible_effective_group_id }}"
您还可以根据需要使用
ansible\u real\u group\u id
/
ansible\u real\u user\u id
ansible\u user\u gid
/
ansible\u user\u uid

请不要忘记ansible表达式周围的双引号

有关真实用户和有效用户之间差异的详细信息,请参阅


有关所有可用变量的信息,请参见

为什么不将ansible
文件
模块与
所有者
选项一起使用?此处动态获取用户和组的id。我该怎么做呢