sudo问题,无法以特定用户身份运行sudo

时间:2019-02-02 20:03:21

标签: ansible vagrant

我想运行此在ansible:

chown $(id -u):$(id -g) $HOME/.kube/config

目标是chown vagrant:vagrant /home/vagrant/.kube/config

现在我无法执行此操作(我已经对该测试的路径进行了硬编码(当然,root用户的$ HOME为/root):

我尝试过:

- name: Setup local kubeconfig
  become: true
  shell:
    cmd: |
      chown $(id -u):$(id -g) /home/vagrant/.kube/config

这导致root:root(CHOWN运行作为根用户)

我也尝试过

- name: Setup local kubeconfig
  become: true
  become_user: vagrant
  shell:
    cmd: |
      chown $(id -u):$(id -g) /home/vagrant/.kube/config

这导致了许可被拒绝,因为它假货

sudo -u vagrant chown $(id -u):$(id -g) /home/vagrant/.kube/config
chown: changing ownership of '/home/vagrant/.kube/config': Operation not permitted

我该如何做?

2 个答案:

答案 0 :(得分:0)

您可以使用id invoice_id production_name product_prix qtt :流浪汉必须具有sudo权限

become_method

答案 1 :(得分:0)

只需在vagrant命令中指定id用户:

- name: Setup local kubeconfig
  become: true
  become_user: root
  shell:
    cmd: |
      chown $(id -u vagrant):$(id -g vagrant) /home/vagrant/.kube/config

(但是为什么不能只使用chown vagrant:vagrant?)