我正在尝试将当前用户添加到系统中的一个组中,然后执行需要该组权限的命令。我的playbook如下:
- name: Add this user to RVM group
sudo: true
user: state=present name=vagrant append=yes groups=rvm group=rvm
- name: Install Ruby 1.9.3
command: rvm install ruby-1.9.3-p448 creates=/usr/local/rvm/bin/ruby-1.9.3-p448
问题在于所有这些操作都在同一个 shell 中进行。vagrant 的 shell 尚未更新新的组。有没有一种干净的方法在 Ansible 中刷新用户当前的组?我想我需要让它重新连接或打开一个新的 shell。
然而,我尝试打开一个新的 shell,但它却一直挂起:
- name: Open a new shell for the new groups
shell: bash
当然会挂起:该进程永远不会退出!
newgrp也是同样的情况。
- name: Refresh the groups
shell: newgrp
因为它基本上做的是同样的事情。
有任何想法吗?