在ansible中使用chown命令?
我在ubuntu中有一个命令在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]:失败!=>{“更改
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。我该怎么做呢