如何在 Ansible 中高效管理用户账户?
我想将用户帐户和证书保留在列表中。
运行剧本时,我想从列表中创建每个帐户(这很容易)。
我还想删除主机上存在但不在列表中的帐户。
现在,我想出了列出现有帐户awk -F: '($3 >= 1000) {printf "%s\n",$1}' /etc/passwd
并将其与我的列表进行比较 - 删除不需要的帐户。
有没有开箱即用的更简单的方式模块?
最佳答案
解析时搜索user-id > 1000 /etc/passwd
并添加 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
到您的有效用户列表。
关于Ansible 用于用户管理 - 删除死帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37441796/