/etc/passwd 操作系统用户信息
包含7个字段,具体含义
用户名:密码:UID:GID:描述信息:主目录:默认shell
注意,密码X表示用户设有密码,但真正的密码保存在/etc/shadow文件中
/etc/group 本地用户组信息
/etc/shadow 影子文件
包含9个字段,具体含义
用户名:密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
最后一次修改时间,表示最后一次修改密码的时间,是自从1970年1月1日开始累计的天数,可以通过如下命令查看具体的日期
date -d "1970-01-01 20353 days"
最小修改时间间隔,即多长时间内不能修改密码,默认是0,代表密码可以随时修改。
密码有效期,默认99999,表示多长时间内必须修改密码,否则用户即将过期。
账号失效时间,表示在此字段规定的时间之外,不论密码是否过期,账号都将无法使用。
id 命令
显示用户id和组id信息
chage 命令
chage -l user1 列出用户及密码的有效期限,及上次密码修改时间。
passwd user1 修改密码
usermod 修改用户
usermod -a -G grp1 user1 给用户user1添加属组grp1
PAM是Linux系统中用户认证的核心框架,
/etc/pam.d 目录与PAM配置文件
/etc/pam.d/password-auth
通过PAM模块的pam_faillock 配置当密码错误次数超过阈值时,账号会被锁定。
faillock 查看被锁的用户
faillock --user ftpuser --reset 解锁用户
/etc/pam.d/system-auth
/etc/pam.d/system-auth-local
每行定义一条认证策略,格式为
模块类型 控制选项 模块路径(.so类) 参数
例,
auth required pam_faillock.so preauth audit denu=3 unlock_time=300
认证策略配的是如果连续三次鉴权失败就临时锁定用户300秒,
第一列,模块类型,PAM的模块分为四种类型,对应不同的认证阶段
auth 验证用户身份
account 检查账户状态
password 处理密码更改相关操作
session 记录用户会话的生命周期
第二列,控制选项
required 模块必须成功,否则认证失败,但后续模块会继续执行
requisite 模块失败后立即终止认证,后续模块不执行
sufficient 成功即通过认证。
optional
修改这个文件,可以取消密码不能重复的限制
auditctl
是Linux审计系统的命令行工具,用于配置和管理审计规则。
审计系统用于记录系统事件和用户活动,以便进行安全审计和合规性检查。
通过auditctl 可以定义需要监控的文件,目录或系统调用,并记录相关的操作事件。
-a 添加规则
-d 删除规则
-l 查看规则
-w 增加监控点 监视文件或目录
-W 删除监控点
添加文件监视规则,监控文件/etc/passwd所有的访问和修改操作
举例
auditctl -w /etc/passwd -p rwxa -k passwd_mod
-p rwxa 监视读r写w执行x和更改操作a
-k 为规则添加键名
删除对 /etc/passwd文件的监控规则
auditctl -W /etc/passwd
添加系统调用规则
auditctl -a always,exit -F path=/etc/shadow -F perm=wa -k shadow-mod
-a always,exit 添加一个始终记录的规则
-F path=/etc/shadow 指定监控的文件路径
-F perm=wa 监视写w和更改a操作
结合ausearch 和aureport 命令查询审计日志
ausearch -k 键名
输出信息里有,操作时间,操作的命令目录cwd,pid 等
sudo auditctl -w 目录名 -p rwxa -k key名称
列出添加的规则
sudo auditctl -l
搜索审计日志
sudo ausearch --key key名称
删除添加的规则
sudo auditctl -D -k key名称
版权声明:本文为CSDN博主「xiaomin-Michael」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_74674329/article/details/142416006