linux密码策略
1、密码过期策略
# vim /etc/login.defs
PASS_MAX_DAYS 99999
# 一个密码最长可以使用的天数;
PASS_MIN_DAYS 0
# 更换密码的最小天数;
PASS_MIN_LEN 5
# 密码的最小长度;
PASS_WARN_AGE 7
# 密码失效前提前多少天数开始警告;
2、PASS_MIN_LEN 5
# 该配置不会生效,需要在/etc/pam.d/system-auth配置文件中添加minlen=13(密码最小长度为12)密码长度策略
# password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=13 authtok_type=
3、说明
# /etc/login.defs和/etc/pam.d/system-auth配置文件修改后对之前创建的用户不生效,对以后创建的用户生效。
# 对之前创建的用户修改密码过期策略的可以使用chage命令,参数如下:
# chage --help
用法:chage [选项] 登录
选项:
-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期”
-E, --expiredate 过期日期 将帐户过期时间设为“过期日期”
-h, --help 显示此帮助信息并推出
-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
-l, --list 显示帐户年龄信息
-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数”
-R, --root CHROOT_DIR chroot 到的目录
-W, --warndays 警告天数 将过期警告天数设为“警告天数”
# 密码过期后,登录linux需要输旧密码并强制更新密码
# 使用root用户为普通用户更新密码时可以不遵守密码最小长度的策略,但是普通用户更新自身密码时会遵循。
4 示例
(1) root用户密码默认过期策略
# chage -l root
最近一次密码修改时间 :从不
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
(2) 更改密码过期策略后,新建test用户,test用户的密码过期策略
1) 修改/etc/login.defs配置文件
# vim /etc/login.defs
PASS_MAX_DAYS 42
PASS_MIN_DAYS 0
PASS_MIN_LEN 12
PASS_WARN_AGE 30
2) 修改/etc/pam.d/system-auth配置文件
# vim /etc/pam.d/system-auth
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=13 authtok_type=
3) 创建test用户并查看密码过期策略
# useradd test
# echo "Linux@2020" | passwd --stdin test
更改用户 test 的密码 。
passwd:所有的身份验证令牌已经成功更新。
# chage -l test
最近一次密码修改时间 :10月 13, 2020
密码过期时间 :11月 24, 2020
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :42
在密码过期之前警告的天数 :30
# su - test
上一次登录:二 10月 13 16:00:26 CST 2020pts/0 上
$ passwd
更改用户 test 的密码 。
为 test 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
无效的密码: 密码少于 12 个字符
新的 密码:
无效的密码: 密码少于 12 个字符
新的 密码:
无效的密码: 密码少于 12 个字符
passwd: 已经超出服务重试的最多次数
$
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏