ubuntu如何触发账户锁定
导读:Ubuntu 触发账户锁定的常用方式 一、手动立即锁定账户 推荐方式(彻底禁止登录):将账户到期时间设为过去,立即失效 锁定:sudo usermod --expiredate 1 <用户名> 解锁:sudo usermod...
Ubuntu 触发账户锁定的常用方式
一、手动立即锁定账户
- 推荐方式(彻底禁止登录):将账户到期时间设为过去,立即失效
- 锁定:
sudo usermod --expiredate 1 < 用户名> - 解锁:
sudo usermod --expiredate -1 < 用户名>
- 锁定:
- 方式二(锁定密码):禁止密码验证登录,但已建立的会话或密钥登录可能仍可用
- 锁定:
sudo passwd -l < 用户名> - 解锁:
sudo passwd -u < 用户名>
- 锁定:
- 说明:如仅锁定密码,存在通过SSH 密钥仍可登录的风险,生产环境更推荐第一种方式。
二、配置登录失败 N 次后自动锁定(PAM)
- Ubuntu 22.04 及以后默认不包含失败锁定功能,建议使用 faillock;旧系统或兼容需要时可用 pam_tally2。
- 使用 faillock(Ubuntu 22.04+ 推荐)
- 编辑 PAM 配置
- 在
/etc/pam.d/common-auth的“首条 auth 规则之后”添加:auth [default=die] pam_faillock.so authfailauth sufficient pam_faillock.so authsucc
- 在
/etc/pam.d/common-account末尾添加:account required pam_faillock.so
- 在
- 配置锁定参数
/etc/security/faillock.conf- 示例:连续失败 3 次锁定,统计窗口 900 秒,普通用户锁定 600 秒,root 同样锁定 1800 秒
deny = 3fail_interval = 900unlock_time = 600even_deny_rootroot_unlock_time = 1800
- 示例:连续失败 3 次锁定,统计窗口 900 秒,普通用户锁定 600 秒,root 同样锁定 1800 秒
- 触发与验证
- 故意输错密码 3 次后用正确密码登录会被拒绝,执行
faillock可查看失败计数 - 解锁:
faillock --user < 用户名> --reset
- 故意输错密码 3 次后用正确密码登录会被拒绝,执行
- 编辑 PAM 配置
- 使用 pam_tally2(旧系统或兼容需求)
- 编辑 PAM
/etc/pam.d/common-auth添加:auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=300
/etc/pam.d/common-account添加:account required pam_tally2.so
- 触发与验证
- 输错 5 次后账户被锁定 300 秒
- 查看:
pam_tally2 -u < 用户名> - 解锁:
pam_tally2 -r -u < 用户名>
- 编辑 PAM
三、注意事项
- 修改 PAM 前务必保留一个已登录的 root 或 sudo 会话,避免配置错误导致无法登录。
- 对 SSH 生效需确保相应服务包含对应 PAM 配置(如
/etc/pam.d/sshd包含或包含common-*文件);否则仅本地登录会触发锁定。 - 使用
passwd -l仅禁用密码登录,若用户配置了 SSH 公钥,仍可能通过密钥登录;需要彻底封禁时优先使用usermod --expiredate 1。 - 建议先在测试环境验证策略,再推广到生产环境,以免影响自动化或高可用场景。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu如何触发账户锁定
本文地址: https://pptw.com/jishu/748136.html
