针对Debian系统的过期账号自动锁定与影子文件加固指南

雨萱姑娘_3504

雨萱姑娘_3504

2026-04-10

851人浏览

原创

debian系统中过期账号自动锁定需配置pam策略并设置/etc/shadow第8字段,同时通过pam_time.so、定期权限检查及auditd监控实现安全加固。

针对debian系统的过期账号自动锁定与影子文件加固指南

Debian系统中,过期账号的自动锁定和/etc/shadow文件的安全加固,核心在于合理配置PAM策略、密码老化参数及文件权限控制,而非依赖第三方工具。

设置账号过期后自动锁定

Debian默认不自动锁定过期账号,需通过PAM模块强制实现。编辑/etc/pam.d/common-auth,在文件开头附近添加:

auth [default=die] pam_faildelay.so delay=3000000
auth [default=die] pam_shells.so
auth [default=die] pam_nologin.so
auth [default=die] pam_time.so

更直接有效的方式是启用pam_account_required.so并配合/etc/security/time.conf定义过期后拒绝登录。但最简实践是:确保/etc/shadow中账号的expire date字段(第8字段)设为具体日期后,再通过以下PAM规则生效:

  • 在/etc/pam.d/common-account中追加一行:
    account required pam_time.so
  • 创建/etc/security/time.conf,加入:
    *;Al0000-2400;Ac;And&!;D(示例:2025年1月1日前未更新密码则拒绝)
  • 实际生产中推荐组合使用pam_faillock.so与shadow过期字段:在common-auth中启用faillock,在common-account中添加
    account [default=bad success=ok user_unknown=ignore] pam_faillock.so deny=3 unlock_time=900

强化/etc/shadow文件访问控制

/etc/shadow必须严格限制读取权限,仅root可访问。检查并修复命令:

  • 运行ls -l /etc/shadow,确认输出为-rw-r----- 1 root shadow 1234 Jan 1 12:00 /etc/shadow;若非此权限,执行:
    sudo chmod 640 /etc/shadow && sudo chown root:shadow /etc/shadow
  • 确保shadow组中无非必要用户:
    getent group shadow,仅保留root或必要管理账户
  • 禁用对/etc/shadow的SGID或SUID位(不应存在):
    sudo chmod g-s,o-s /etc/shadow

统一配置密码老化与账号生命周期

通过/etc/login.defs和chage协同控制账号状态:

  • 编辑/etc/login.defs,设置全局策略:
    PASS_MAX_DAYS 90
    PASS_MIN_DAYS 1
    PASS_WARN_AGE 7
    INACTIVE 30
    EXPIRE 2030/12/31

    其中INACTIVE表示密码过期后多少天锁定账号(设为30即过期+30天后passwd字段置空,登录失败)
  • 对已有用户批量应用:
    sudo chage -M 90 -m 1 -W 7 -I 30 -E 2030-12-31 username
  • 验证效果:
    chage -l username 查看“Password inactive”和“Account expires”字段

定期审计与自动化检测

避免策略失效,应建立轻量级检查机制:

  • 编写脚本检查过期但未锁定的账号:
    awk -F: '$8 != "" && $8 /dev/null | while read u; do chage -l "$u" | grep -q "Password inactive.*never\|Account expires.*never" || echo "$u needs review"; done
  • 将/etc/shadow权限检查加入cron(如每周日早6点):
    0 6 * * 0 [ "$(stat -c "%U:%G:%a" /etc/shadow)" = "root:shadow:640" ] || echo "shadow perm alert" | mail -s "Debian security check" admin@example.com
  • 启用auditd监控关键文件变更:
    sudo auditctl -w /etc/shadow -p wa -k shadow_access,后续用ausearch -k shadow_access追溯修改记录
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4050

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3453

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2653

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6450

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6102

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3553

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3045

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3279

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习