community.general.udm_user 模块 – 在 Univention 企业服务器上管理 POSIX 用户

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:community.general.udm_user

概要

  • 此模块允许在 Univention 企业服务器 (UCS) 上管理 POSIX 用户。它使用 UCS 的 Python API 来创建新对象或编辑它。

要求

执行此模块的主机上需要以下要求。

  • legacycrypt (在 Python 3.13 或更新版本上)

参数

参数

注释

生日

字符串

生日

城市

字符串

用户办公地址的城市。

国家

字符串

用户办公地址的国家。

department_number

别名: departmentNumber

字符串

用户办公地址的部门编号。

描述

字符串

描述 (不是 gecos)

display_name

别名: displayName

字符串

显示名称 (不是 gecos)

电子邮件

列表 / 元素=字符串

电子邮件地址列表。

默认: [""]

employee_number

别名: employeeNumber

字符串

员工编号

employee_type

别名: employeeType

字符串

员工类型

名字

字符串

名字。如果 state=present 则为必填项。

gecos

字符串

GECOS

列表 / 元素=字符串

POSIX 组,将使用 LDAP 过滤器查找每个组的 LDAP DN,格式为 $GROUP: (&(objectClass=posixGroup)(cn=$GROUP))

默认: []

home_share

别名: homeShare

字符串

家庭 NFS 共享。必须是 LDAP DN,例如 cn=home,cn=shares,ou=school,dc=example,dc=com

home_share_path

别名: homeSharePath

字符串

家庭 NFS 共享的路径,在 homeShare 内。

home_telephone_number

别名: homeTelephoneNumber

列表 / 元素=字符串

私人电话号码列表。

默认: []

homedrive

字符串

Windows 家庭驱动器,例如 "H:"

姓氏

字符串

姓氏。如果 state=present 则为必填项。

mail_alternative_address

别名: mailAlternativeAddress

列表 / 元素=字符串

备用电子邮件地址列表。

默认: []

mail_home_server

别名: mailHomeServer

字符串

邮件服务器的 FQDN

mail_primary_address

别名: mailPrimaryAddress

字符串

主要电子邮件地址

mobile_telephone_number

别名: mobileTelephoneNumber

列表 / 元素=字符串

手机号码

默认: []

organisation

别名: organization

字符串

组织

ou

字符串

LDAP 基本 DN 中的组织单元,例如 school 用于 LDAP OU ou=school,dc=example,dc=com

默认: ""

overridePWHistory

别名: override_pw_history

布尔值

覆盖密码历史记录

选项

  • false ← (默认)

  • true

overridePWLength

别名: override_pw_length

布尔值

覆盖密码检查

选项

  • false ← (默认)

  • true

pager_telephonenumber

别名: pagerTelephonenumber

列表 / 元素=字符串

寻呼机电话号码列表。

默认: []

password

字符串

密码。如果 state=present,则为必填项。

phone

列表 / 元素=字符串

电话号码列表。

默认: []

position

字符串

定义用户对象在 LDAP 树中的完整位置,例如 cn=employee,cn=users,ou=school,dc=example,dc=com

默认: ""

postcode

字符串

用户办公地址的邮政编码。

primary_group

别名: primaryGroup

字符串

主组。这必须是组的 LDAP DN。

如果未指定,则默认为 cn=Domain Users,cn=groups,$LDAP_BASE_DN

profilepath

字符串

Windows 配置文件目录

pwd_change_next_login

别名: pwdChangeNextLogin

字符串

下次登录时更改密码。

选项

  • "0"

  • "1"

room_number

别名: roomNumber

字符串

用户办公地址的房间号。

samba_privileges

别名: sambaPrivileges

列表 / 元素=字符串

Samba 权限,例如允许打印机管理、执行域加入。

默认: []

samba_user_workstations

别名: sambaUserWorkstations

列表 / 元素=字符串

仅允许在此 Microsoft Windows 主机上进行身份验证。

默认: []

sambahome

字符串

Windows 主目录路径,例如 '\\$FQDN\$USERNAME'

scriptpath

字符串

Windows 登录脚本。

secretary

列表 / 元素=字符串

上级人员列表(作为 LDAP DN)。

默认: []

serviceprovider

列表 / 元素=字符串

为以下服务提供商启用用户。

默认: [""]

shell

字符串

登录 shell

默认值: "/bin/bash"

state

字符串

用户是否存在。

选项

  • "present" ← (默认)

  • "absent"

street

字符串

用户办公地址的街道。

subpath

字符串

组织单元内的 LDAP 子路径,例如 cn=teachers,cn=users,对于 LDAP 容器 cn=teachers,cn=users,dc=example,dc=com

默认值: "cn=users"

title

字符串

头衔,例如 Prof.

unixhome

字符串

Unix 主目录

如果未指定,则默认为 /home/$USERNAME

update_password

字符串

always 将在密码不同时更新密码。on_create 仅为新创建的用户设置密码。

选项

  • "always" ← (默认)

  • "on_create"

userexpiry

字符串

帐户过期日期,例如 1999-12-31

如果未指定,则默认为当前日期加一年。

username

别名: name

string / 必填

用户名

属性

属性

支持

描述

check_mode

支持: 完整

可以在 check_mode 中运行,并返回更改的状态预测,而无需修改目标。

diff_mode

支持: 部分

当处于 diff 模式时,将返回有关已更改的内容(或在 check_mode 中可能需要更改的内容)的详细信息。

注释

注意

  • 此模块需要已弃用的 crypt Python 模块库,该库已从 Python 3.13 中删除。对于 Python 3.13 或更高版本,您需要安装 legacycrypt

示例

- name: Create a user on a UCS
  community.general.udm_user:
    name: FooBar
    password: secure_password
    firstname: Foo
    lastname: Bar

- name: Create a user with the DN uid=foo,cn=teachers,cn=users,ou=school,dc=school,dc=example,dc=com
  community.general.udm_user:
    name: foo
    password: secure_password
    firstname: Foo
    lastname: Bar
    ou: school
    subpath: 'cn=teachers,cn=users'

# or define the position
- name: Create a user with the DN uid=foo,cn=teachers,cn=users,ou=school,dc=school,dc=example,dc=com
  community.general.udm_user:
    name: foo
    password: secure_password
    firstname: Foo
    lastname: Bar
    position: 'cn=teachers,cn=users,ou=school,dc=school,dc=example,dc=com'

作者

  • Tobias Rüetschi (@keachi)