user 模块是用来创建用户和管理用户设定的,用户可以被设置成 present 状态或者 absent 状态。
hwg: user.present: - fullname: Jim - shell: /bin/bash - home: /home/hwg - uid: 600 - gid: 600 - groups: - wheel - storage - games testuser: user.absent
- salt.states.user.absent(name, purge=False, force=False)
- absent 状态用于删除用户
- name
- 用删除的用户名
- purge
- 默认为False,设置为True则删除以该用户为属组的文件
- force
- 默认为False,设置为True则即使该用户在线也将被删除
- --------------------------------------------------
- salt.states.user.present(name, uid=None, gid=None, gid_from_name=False, groups=None, optional_groups=None, remove_groups=True, home=None, createhome=True, password=None, enforce_password=True, empty_password=False, shell=None, unique=True, system=False, fullname=None, roomnumber=None, workphone=None, homephone=None, loginclass=None, date=None, mindays=None, maxdays=None, inactdays=None, warndays=None, expire=None)
- present 状态用于创建和管理用户
- 属性介绍如下:
- name
- 用户名,默认用户名为ID声明
- uid
- 用户id,如果没有指定,按顺序使用可利用的id
- gid
- 默认用户组id
- gid_from_name
- 默认为Fasle,设置为True时,用户组id和用户id一样
- groups
- 将用户添加到groups指定的组,如果指定的组不存在则指定失败;如果指定的组为空则用户将从其他用户组里移除,只保留在自己的用户组里
- optional_groups
- 将用户添加到groups指定的组,如果指定的组不存在则指定忽略
- 注:如果groups和optional_groups都指定了某个组,则这个组会被认为是必需的而不是可选的,如果指定的组不存在则指定失败。
- remove_groups
- 如果组没有在state中指定,且用户是该组的成员,则将用户从该组移除,默认为True
- home
- 用户家目录
- createhome
- 默认为True,设置为False则不创建家目录
- password
- 用户密码,只支持Linux, FreeBSD, NetBSD, OpenBSD, and Solaris系统
- enforce_password
- 默认为True,强制修改密码,如果password选项不存在,该选项将被忽略;设置为False,如之前已经设置哈希密码,则密码不被修改
- empty_password
- 默认为False,设置为True,无密码登陆用户。
- shell
- 指定shell,默认为系统默认shell
- unique
- 要求是独有的UID,默认为True
- system
- 选择UID在FIRST_SYSTEM_UID和LAST_SYSTEM_UID之间,默认为False
- fullname
- 用户全名
- roomnumber
- 用户房间号
- workphone
- 用户工作电话
- homephone
- 用户家庭电话
- date
- 指定密码最后修改的日期
- mindays
- 设置修改密码的最小天数
- maxdays
- 两次修改密码相距的最大天数
- inactdays
- 设置密码过期后,锁定账号的天数
- warndays
- 设置密码过期前,开始警告天数
- expire
- 设置账号的过期日期