rbrightling.shadow_utils
阴影工具
管理用于在系统上管理用户和组账户的阴影工具包配置。
在默认配置中已尽力应用最佳安全实践;然而,仍需始终确保足够的审查,因为这并不能保证安全。
要求
Ansible 2.8+
支持的操作系统
- Debian 10
- CentOS 8
角色变量
# useradd 配置选项
# #######################
# 使用 useradd 创建的默认用户 shell
shadow_utils_shell: "{{ shadow_utils__shell }}"
# 用户的 GID (100=users),如果未指定其他组则使用此项。
shadow_utils_group: 100
# 密码过期后账户被永久禁用的天数。-1 以禁用。
shadow_utils_inactive: 60
# 默认过期日期
shadow_utils_expire: null
# 默认的主目录
shadow_utils_home: "/home"
# 复制到新用户主目录的骨架结构。
shadow_utils_skel: "/etc/skel"
# 默认情况下为新用户创建邮件存储
shadow_utils_create_mail_spool: false
# Login.defs 配置选项
# #########################
# 邮件存储目录。这在修改或删除相应用户账户时需要操作邮箱。
shadow_utils_mail_dir: "{{ shadow_utils__mail_dir }}"
# 定义用户邮件存储文件相对其主目录的位置
shadow_utils_mail_file: null
# 启用记录登录失败信息并显示 /var/log/faillog。
# 此选项与 pam_tally PAM 模块冲突。
shadow_utils_faillog_enab: true
# 登录失败记录时显示未知用户名。
shadow_utils_log_unkfail_enab: true
# 启用成功登录的记录。
shadow_utils_log_ok_logins: false
# 启用 su 活动的“syslog”记录 - 除了 sulog 文件记录。
shadow_utils_syslog_su_enab: true
# 启用 sg 活动的“syslog”记录。
shadow_utils_syslog_sg_enab: true
# 如果定义,所有 su 活动将记录到此文件。
shadow_utils_sulog_file: '/var/log/su.log'
shadow_utils_ftmp_file: '/var/log/btmp'
# 如果定义,将 tty 行映射到 TERM 环境参数的文件
shadow_utils_ttytype_file: null
# 如果定义,运行 "su -" 时显示的命令名。
shadow_utils_su_name: 'su'
# 如果定义,抑制登录消息。如果是完整路径,则在指定文件中的用户名被启用静音;否则,
# 如果文件存在于用户目录中,则启用静音。
shadow_utils_hushlogin_file: '.hushlogin'
# 设置超级用户登录时的 PATH 变量
shadow_utils_env_supath:
- '/usr/local/sbin'
- '/usr/local/bin'
- '/usr/sbin'
- '/usr/bin'
- '/sbin'
- '/bin'
# 设置普通用户登录时的 PATH 变量
shadow_utils_env_path:
- '/usr/local/bin'
- '/usr/bin'
- '/bin'
- '/usr/local/games'
- '/usr/games'
# 终端权限。
shadow_utils_ttygroup: 'tty'
shadow_utils_ttyperm: '0600'
# 终端删除字符 (010 = 回退, 0177 = DEL)
shadow_utils_erasechar: '0177'
# 终端 KILL 字符 (025 = CTRL/U)
shadow_utils_killchar: '025'
# 文件模式创建掩码初始化为此值。
shadow_utils_umask: '077'
# - 022: 文件 - 640 (rw-rw----), 目录 - 750 (rwxrwx---)
# - 027: 文件 - 640 (rw-r-----), 目录 - 750 (rwxr-x---)
# - 077: 文件 - 640 (rw-------), 目录 - 750 (rwx------)
# 密码可使用的最长天数。如果密码超过此天数,将强制更改密码。
shadow_utils_pass_max_days: 366
# 密码更改之间允许的最小天数。任何尝试过早更改密码的请求将被拒绝。
shadow_utils_pass_min_days: 1
# 密码过期前发出警告的天数。
shadow_utils_pass_warn_age: 31
# 用于创建普通用户的用户 ID 范围
shadow_utils_uid_min: 1000
shadow_utils_uid_max: 60000
# 用于创建系统用户的用户 ID 范围
shadow_utils_sys_uid_min: 201
shadow_utils_sys_uid_max: 999
# 用于创建普通组的组 ID 范围
shadow_utils_gid_min: 1000
shadow_utils_gid_max: 60000
# 用于创建系统组的组 ID 范围
shadow_utils_sys_gid_min: 201
shadow_utils_sys_gid_max: 999
# 错误密码情况下的最大登录重试次数。
# 这很可能会被 PAM 重写,但可以作为安全的后备。
shadow_utils_login_retries: 5
# 登录的最大时间(秒)。
shadow_utils_login_timeout: 60
# 指定用户可通过 chfn 更改的 gecos 字段。
# f - 全名, r - 房间号, w - 工作电话, h - 家庭电话
shadow_utils_chfn_restrict: 'rwh'
# 如果无法切换到主目录,则允许用户登录
shadow_utils_default_home: false
# 默认情况下为新用户创建主目录
shadow_utils_create_home: true
# 如果定义,删除用户时将运行此命令
shadow_utils_userdel_cmd: null
# 为新用户创建同名的默认组,并在用户被删除时,如果组为空则移除用户组。
shadow_utils_usergroups_enab: true
# 默认用于加密密码的加密算法
shadow_utils_encrypt_method: 'SHA512'
依赖
无
示例剧本
- hosts: servers
tasks:
- name: "包含 shadow_utils"
include_role:
name: "shadow_utils"
许可证
LGPLv3
作者信息
安装
ansible-galaxy install rbrightling.shadow_utils
许可证
lgpl-3.0
下载
320
拥有者
DevOps and general computer tinkerer.