Linux系统之faillock详解
faillock 是与 pam_faillock.so 模块配合使用的工具,用于管理用户的认证失败记录。当用户连续多次登录失败超过预设阈值时,系统会锁定该用户账户。faillock 可以显示或重置特定用户的失败记录,帮助管理员监控和管理账户锁定状态。
·
faillock 是与 pam_faillock.so 模块配合使用的工具,用于管理用户的认证失败记录。当用户连续多次登录失败超过预设阈值时,系统会锁定该用户账户。faillock 可以显示或重置特定用户的失败记录,帮助管理员监控和管理账户锁定状态。
基本语法
faillock [选项]
faillock [--dir /路径/到/目录] [--user 用户名] [--reset]
选项
| 选项 | 描述 |
|---|---|
--dir /路径/到/目录 |
指定存储失败记录的目录,默认为 /var/run/faillock/。 |
--user 用户名 |
指定要查看或操作的用户。 |
--reset |
清除指定用户的失败记录(若未指定用户,则清除所有用户的记录)。 |
相关文件
| 文件路径 | 描述 |
|---|---|
/var/run/faillock/* |
存储各用户认证失败记录的文件。 |
示例
1. 查看指定用户的失败记录
faillock --user username
输出示例:
username: failures 3, latest 2025-04-27 18:00:00, until 2025-04-27 18:10:00
2. 重置指定用户的失败记录(解锁账户)
faillock --user username --reset
此操作会清除用户的失败计数,若账户因失败次数过多被锁定,重置后可重新尝试登录。
3. 清除所有用户的失败记录
faillock --reset
4. 指定目录操作(非默认路径)
faillock --dir /custom/faillock --user username --reset
常见问题
Q: 如何查看被锁定的用户?
A:
- 若系统支持
--list:faillock --list - 否则需手动遍历目录:
ls /var/run/faillock/(文件名即用户名)。
Q: 如何解锁被锁定的用户?
A:
重置用户的失败记录:
faillock --user username --reset
Q: 如何配置锁定策略?
A:
编辑 /etc/security/faillock.conf 或直接修改 PAM 配置文件(如 /etc/pam.d/sshd):
auth required pam_faillock.so preauth deny=5 unlock_time=3600
注意事项
-
权限要求:
- 需要
root权限才能操作其他用户的记录。
- 需要
-
账户锁定机制:
- 锁定策略由
pam_faillock.so配置决定,通常配置在/etc/pam.d/system-auth或/etc/pam.d/password-auth文件中。 - 示例配置:
auth required pam_faillock.so preauth deny=3 unlock_time=600 auth [default=die] pam_faillock.so authfail deny=3 account required pam_faillock.sodeny=3:失败3次后锁定账户。unlock_time=600:锁定600秒(10分钟)后自动解锁。
- 锁定策略由
-
扩展功能(部分系统支持):
- 列出所有被锁定的用户:
faillock --list # 部分系统支持此选项 - 解锁账户:
在某些系统中,--unlock可能用于直接解锁用户,但需确认版本支持:faillock --user username --unlock # 需参考具体系统文档
- 列出所有被锁定的用户:
-
与
faillog命令的区别:faillock是pam_faillock的配套工具,支持更灵活的锁定策略。faillog主要用于查看传统PAM的失败记录(如pam_tally2),不支持pam_faillock的高级功能。
退出状态
| 状态码 | 含义 |
|---|---|
0 |
成功执行命令。 |
非0 |
命令执行失败(如权限不足、参数错误或文件不存在)。 |
更多推荐
所有评论(0)