Linux账号管理必须注意的5个安全点,别等出事才后悔!
1 禁止root远程登录
Linux默认是允许root账户通过SSH远程登录的,这相当于把系统的最高权限账号暴露在公网,黑客只需要猜中密码就能搞事情。
正确做法就是将root管理员进行禁止登录。编辑 SSH 配置文件:
vim /etc/ssh/sshd_config
PermitRootLogin no
重启 SSH 服务:
systemctl restart sshd
建议创建一个普通用户 + sudo 权限,安全性高很多。但有些公司为了方便,一般都是不设置,看公司要求。
2 删除或锁定不再使用的账户
一个被遗忘的账号,也许已经被人“借走”了权限。
检查长期未使用账户:
lastlog
或者查看所有账号
cut -d:f1 /etc/passwd
对不需要的账号执行以下操作:
锁定账号:
usermod -L 用户名
删除账号:
userdel -r 用户名
3 限制sudo权限
杜绝人人都是管理。很多人为了方便,直接把所有用户加到sudoers里,出了问题找不到责任人,可能被人提权操作。
正确姿势:
- 仅为可信用户配置 sudo。
- 编辑 sudo 配置用:
visudo
使用最小权限原则,比如只允许执行特定命令:
username ALL=(ALL) NOPASSWD:/usr/bin/systemctl status mysqld
4 设置密码复杂度和过期时间
别让弱密码成为漏洞。很多攻击都是从123456、password这种弱密码入手的。
加强密码策略:
编辑 /etc/login.defs 或使用 chage 命令:
cat /etc/login.defs

chage -maxdays 90 用户名 #密码90天过期
chage -mindays 7 用户名 #最短7天不能改密码
使用 pam 模块增强密码复杂度:
vim /etc/pam.d/system-auth
添加或修改以下内容:
password requisite pam_pwquality.so retry=3 minlen=10 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
retry=3 对多尝试三次
minlen=10 密码长度最少为10个字符
ucredit=-1 密码至少包含一个大写字母
lcredit=-1 密码至少包含一个小写字母
dcredit=-1 密码至少包含一个数字
ocredit=-1 设置其他符号的最小数量,例如@#!$%至少一个
5 启用登录审计
inux本身提供了强大的日志系统,通过配置日志和审计策略,你可以溯源一切操作记录。
开启审计功能(auditd):
dnf - install auditd && systemctl enable --now auditd
监控敏感操作,例如/etc/passwd
评论区