我正在使用 FreeIPA 进行身份访问管理,我必须提供活跃用户列表(审计要求)。我正在使用 ldapsearch,但我得到了列表中的所有用户(活跃+已禁用)。请帮助我获取一个从列表中排除已禁用用户的用户列表。
使用的查询:ldapsearch -h -b“cn=users,cn=accounts,dc=example,dc=com”-D“uid=,cn=users,cn=accounts,dc=example,dc=com”-W -x“uid”“gecos”“ntUserLastLogon”“displayName”“employeeType=ENABLED”
答案1
谢谢奥利维尔作为答案,它拯救了我!但我这边有一个小小的更正。如果您需要从 freeipa 返回的 ldapsearch 中排除已禁用用户,我建议使用下面提供的语法:
ldapsearch -H ldap://freeipa.example.com -x -W -D "uid=admin,cn=users,cn=accounts,dc=example,dc=com" -b "dc=example,dc=com" "(&(objectClass=person)(!(nsaccountlock=TRUE))(memberOf=cn=pgsql_writers,cn=groups,cn=accounts,dc=example,dc=com))" cn
此查询将返回 pgsql_writers 组成员(仅限个人)。
答案2
尝试用"(nsaccountlock=TRUE)"
而不是"employeetype=enabled"