/etc/security 是Linux安全策略执行中枢,专注权限认证:limits.conf控资源限制,user管密码与登录行为,pwquality.conf定密码复杂度,access.conf限登录源;须严格权限控制、变更可溯、修改后充分验证。

/etc/security 目录是 Linux 权限与认证策略的核心控制区,不是放配置的“杂物柜”,而是系统安全策略的执行中枢。它不直接运行服务,但所有用户登录、资源限制、密码强度、会话控制都依赖这里文件的解析和 PAM 模块的联动。管理它关键在三点:分层控制、权限严控、变更可溯。
分清各文件职责,避免混改
该目录下多个文件分工明确,不能互相替代:
- /etc/security/limits.conf 和 /etc/security/limits.d/*.conf:只管用户会话级资源限制(如 open files、stack size),仅对 PAM 登录生效,不影响 systemd 服务;limits.d/ 下按字母顺序加载,同名 domain 的设置会覆盖 limits.conf 中的对应项
-
/etc/security/user(AIX 常见,部分 Linux 发行版兼容):专注用户密码策略与登录行为控制,比如
logintimes=0830-1730、pwdchecks=usenull,usecrypt;修改后需用pwdck校验一致性 -
/etc/security/pwquality.conf(较新发行版):定义密码复杂度规则(长度、类字符数、重复限制等),由
pam_pwquality.so加载,比旧式/etc/login.defs更精细 -
/etc/security/access.conf:控制用户/组能否从某终端或主机登录,例如
- : root : ALL EXCEPT LOCAL禁止 root 远程登录
权限必须锁定,禁止非 root 写入
这些文件一旦被普通用户篡改,可能绕过全部安全策略:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 统一设为
600或644(仅 root 可写,组和其他用户只读):chmod 600 /etc/security/{limits.conf,user,pwquality.conf} - 对关键文件加不可变属性:
chattr +i /etc/security/{limits.conf,access.conf},防止误删或覆盖(解除需chattr -i) - 检查是否存在危险残留:
find /etc/security -name "*.bak" -o -name "*.swp" | xargs ls -l,及时清理临时文件
策略变更要测试+记录
修改后不验证等于没改,且易引发登录失败或服务异常:
- 用
su - username新建会话,再执行ulimit -a或id确认 limits/user 设置已生效 - 密码策略调整后,用
passwd username尝试设弱密码,看是否被拦截 - 每次修改都写简明日志:
echo "$(date +%F_%T) limits: raise nofile to 65536 for appuser" >> /etc/SECURITY_CHANGES.log - 建议将 /etc/security 整体纳入 git 管理(排除敏感值),提交信息必须包含影响范围,例如:
git commit -m "user: disable relogin for service accounts, avoids SSH session reuse"
它不像 /etc/nginx 那样改完 reload 就见效,而是深度嵌入 PAM 认证链——一次错误配置可能导致批量用户无法登录。稳住逻辑、锁住权限、验过效果,才是管理好它的基本动作。










