Tec*_*ain 14 chown ansible ansible-2.x
我在 ubuntu 中有一个命令
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Run Code Online (Sandbox Code Playgroud)
我想转换成ansible脚本。我在下面试过
- name: Changing ownership
command: chown $(id -u):$(id -g) $HOME/.kube/config
become: true
Run Code Online (Sandbox Code Playgroud)
但我收到如下错误
致命:[ubuntu]:失败!=> {“已更改”:t> 致命:[ubuntu]:失败!=> {"changed": true, "cmd": ["chown", "$(id", "-u):$(id", "-g)", "$HOME/.kube/config"] , "delta": "0:00:00.003948", "end": "2019-07-17 07:22:31.798773", "msg": "非零返回码", "rc": 1, "start ": "2019-07-17 07:22:31.794825", "stderr": "chown: invalid option -- 'u'\nTry 'chown --help' 了解更多信息。", "stderr_lines": ["chown : 无效选项 -- 'u'", "Try 'chown --help' 了解更多信息。"], "stdout": "", "stdout_lines": []}rue, "cmd": ["chown",
编辑: 文件模块也不起作用。
- name: Create a symbolic link
file:
path: $HOME/.kube
owner: $(id -u)
group: $(id -g)
Run Code Online (Sandbox Code Playgroud)
Pie*_* B. 22
假设文件已经存在并且您只想更改权限,您可以从 Ansible 事实中检索用户 ID 和组并执行以下操作:
- name: Change kubeconfig file permission
file:
path: $HOME/.kube/config
owner: "{{ ansible_effective_user_id }}"
group: "{{ ansible_effective_group_id }}"
Run Code Online (Sandbox Code Playgroud)
您还可以根据需要使用ansible_real_group_id
/ansible_real_user_id
或ansible_user_gid
/ ansible_user_uid
。
请不要忘记围绕 ansible 表达式的双引号。
有关真实用户和有效用户之间差异的详细信息,请参阅此帖子
有关所有可用变量的信息,请参阅有关系统变量的 Ansible 文档
归档时间: |
|
查看次数: |
16054 次 |
最近记录: |