定期审查用户访问权限是守住安全底线的关键动作,需明确范围锁定高权限、休眠及离职账号,执行linux/mysql/应用层检查并按最小权限原则核对,发现冗余立即清理并记录,建议每季度全量、敏感系统每月抽查。

定期审查用户访问权限不是走流程,而是守住安全底线的实际动作。核心就三点:查谁有权限、看权限是否合理、删掉不该留的。
明确审查范围和对象
先锁定要查的目标:所有能登录系统或数据库的账户,包括Linux系统用户、MySQL用户、应用后台账号、以及通过SSH或Web界面接入的服务账号。重点盯住高权限账户(如root、admin、dba)、长期未登录的休眠账号、离职人员关联账号。不光看“有没有权限”,更要确认“为什么需要这个权限”。
执行具体审查操作
- Linux系统中用
find / -type f \( -perm -4000 -o -perm -2000 \) 2>/dev/null查找SUID/SGID文件,用getent group | grep -E "(sudo|admin|wheel)"检查特权组成员; - MySQL里运行
SELECT user, host, account_locked, password_last_changed FROM mysql.user;看账户状态,再用SHOW GRANTS FOR 'username'@'host';查具体权限; - 对于web应用或中间件,检查其配置文件中的认证模块、角色映射表或数据库连接用户配置;
- 所有审查结果建议导出为CSV或表格,标注“待确认”“需降权”“应删除”三类状态。
判断权限是否合理
对照最小权限原则逐条核对:
- 这个用户是否真的需要登录多台服务器?能否限制IP段或跳板机?
- 数据库用户是否只给了SELECT却误开了DROP?报表用户有没有UPDATE权限?
- 系统用户是否用shell登录但实际只需sftp?能否改用nologin或rbash限制命令?
- 权限是否随岗位变动同步更新?比如员工从开发转测试,原开发库写权限就该收回。
完成清理与记录
发现冗余权限立即调整:用 REVOKE ... FROM 或 usermod -G 移除不必要组;确认无用账号执行 DROP USER 或 userdel -r;所有操作必须在变更日志中记录时间、执行人、依据(如工单号或审计要求)、前后对比。建议每季度做一次全量审查,敏感系统每月抽查一次。











