如何有效管理Ansible中的用户帐户?我希望将用户帐户和证书保存在列表中。
在运行剧本时,我想从列表中创建每个帐户(这很容易)。我还想删除存在于主机上的帐户,但不在列表中。
现在,我计算出了现有的帐户awk -F: '($3 >= 1000) {printf "%s\n",$1}' /etc/passwd。
把它和我的清单做比较-删除不需要的帐户。
有更简单的方法模块可以做到这一点吗?
发布于 2016-05-25 17:30:59
只有当您绝对确定要删除的用户时,警告警告才会这样做。如果您删除根这样的系统用户,这可能会使您的系统毫无用处。
几乎没有几行“Ansible”能满足你的要求。利用user模块。
vars:
myusers: ['root', 'bin', 'mail', 'obama', 'trump', 'clinton', 'you', 'me']
tasks:
- shell: 'cut -d: -f1 /etc/passwd'
register: users
- user: name={{item}} state=absent remove=yes
with_items: users.stdout_lines
when: item not in myusers发布于 2017-08-11 12:28:16
解析/etc/passwd时搜索用户id> 1000,并将nobody添加到有效用户列表中。这样,您就不会删除任何系统用户。
vars:
myusers: ['nobody', 'obama', 'trump', 'clinton', 'you', 'me']
tasks:
- shell: "getent passwd | awk -F: '$3 > 1000 {print $1}'"
register: users
- user: name={{item}} state=absent remove=yes
with_items: users.stdout_lines
when: item not in myusers记住将nobody添加到有效用户列表中。
发布于 2016-05-25 17:01:41
尝试使用我写的这个Ansible角色:users
https://stackoverflow.com/questions/37441796
复制相似问题