Linux密码策略
密码策略必须同时满足大小写字母、数字、特殊字符(Linux Ubuntu),将密码必须符合复杂性要求的属性配置界面截图:
sudo nano /etc/pam.d/common-password /打开配置文件
password requisite pam_pwquality.so retry=3 minlen=13 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass yescrypt
password sufficient pam_sss.so use_authtok
这三个句子是 Linux 中用于密码身份验证的 PAM 配置。下面是每个句子的含义:
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
这个句子使用了 pam_pwquality.so 模块,用于密码复杂度检查。requisite 表示该模块的验证结果必须为成功才能继续进行下一步验证。try_first_pass 表示首先尝试从用户输入的密码中获取口令,如果后续模块需要使用口令,则将其传递给后续模块。local_users_only 表示该模块只适用于本地用户,不适用于远程用户。retry=3 表示如果密码不符合要求,最多可以重试 3 次。authtok_type= 表示使用默认的密码类型进行验证。
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
这个句子使用了 pam_unix.so 模块,用于验证用户密码。sufficient 表示该模块的验证结果为成功时,就可以继续进行下一步验证,不必等待所有模块都执行完毕。sha512 表示使用 SHA-512 算法进行密码加密。shadow 表示使用 /etc/shadow 文件中的密码进行验证。nullok 表示允许空密码进行验证。try_first_pass 和 use_authtok 的含义与第一个句子相同,即首先尝试从用户输入的密码中获取口令,如果后续模块需要使用口令,则将其传递给后续模块;在进行密码修改时,使用先前成功验证的密码作为新密码。
password required pam_deny.so
这个句子使用了 pam_deny.so 模块,用于拒绝所有身份验证请求。required 表示该模块的验证结果必须为成功,否则身份验证将失败。这个句子的作用是在前两个句子中的所有验证模块都执行失败的情况下,强制拒绝身份验证请求。
retry=3 重试次数为3次
minlen=13:密码的最小长度必须为13个字符。
ucredit=-1:密码中至少包含一个大写字母
lcredit=-1:密码中至少包含一个小写字母
dcredit=-1:密码中至少包含一个数字
ocredit=-1:密码中至少包含一个特殊字符(非字母或数字字符)
密码策略必须同时满足大小写字母、数字、特殊字符(Linux centos),将/etc/pam.d/system-auth 配置文件中对应的部分截图:
vim /etc/pam.d/system-auth
最小密码长度不少于 13 个字符(Linux),将/etc/login.defs 配置文件中对应的部分截图:
vim /etc/login.defs /打开配置文件
PASS_MAX_DAYS 99999 密码有效期, 此时对密码过期没要求
PASS_MIN_DAYS 0 上次修改密码以来,最少隔多少天后用户才能再次修改密码,默认值是 0
PASS_MIN_LEN 13 指定密码的最小长度,默认不小于 13位
补充
Windows更改密码策略
运行窗口输入:gpedit.msc
打开安全策略>windows设置>安全设置>账户策略>密码策略