Ansible 用于用户管理 - 删除死帐户

标签 ansible user-management

如何在 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/

相关文章:

python - 如何在 Django 中处理具有相同访问权限但不同规则的组的用户管理?

user-management - 您使用什么工具来管理 Web 应用程序的 Beta 测试人员?

CakePHP:以 wordpress 方式管理用户功能

linux - 如何使用 Bamboo 或 jenkins 运行 ansible playbook

ansible:在剧本中使用不同的变量调用相同的角色

vagrant - 使用 ansible_local 时 playbook 的路径错误

reporting-services - 向 Reporting Services 添加新角色类型

task - ansible 忽略任务上的 run_once 配置

ansible - 我可以在 Ansible play 中使用 Jinja2 `map` 过滤器从对象数组中获取值吗?

c# - 加入域时本地用户帐户的 Principal.IsMemberOf 异常