others权限设置不当易致敏感信息泄露,需重点审计/etc/、/var/log/、web根目录及私钥文件的others读写权限,用find命令扫描并按最小权限原则修复。

Others权限位设置不当,是Linux系统中敏感信息意外暴露的常见原因。当文件或目录对“其他人”(others)开放了读(r)、写(w)甚至执行(x)权限,就可能让非授权用户访问配置文件、日志、密钥、数据库备份等关键数据。安全审计必须重点排查这类宽松权限。
识别高风险的Others权限配置
重点关注以下几类路径是否对others开放了不必要的读写权限:
- /etc/ 下的配置文件(如 /etc/shadow、/etc/passwd、/etc/nginx/nginx.conf)——不应有 others:r
- /var/log/ 中的应用日志(如 /var/log/mysql/error.log)——避免 others:r 暴露错误堆栈或连接信息
- Web根目录下的敏感文件(如 /var/www/html/.env、/var/www/html/config.php)——others:r 可导致直接HTTP下载
- 私钥与证书文件(如 /etc/ssl/private/ 下的 *.key)——绝对禁止 others:r 或 others:w
快速审计命令与解读
用一条find命令批量扫描全盘中对others开放读/写的常规文件:
find / -type f -perm -o+r -o -perm -o+w 2>/dev/null | grep -E "\.(conf|cfg|ini|env|log|key|pem|yml|yaml|json)$"
说明:
- -perm -o+r 匹配 others 可读的文件;-perm -o+w 匹配 others 可写的文件
- 2>/dev/null 屏蔽无权限目录报错,聚焦有效结果
- 后续 grep 过滤常见敏感后缀,提升审计效率
修复原则与最小权限实践
修复不是简单删掉others权限,而是按需收紧,同时保障服务正常运行:
- 普通配置文件(如 /etc/my.cnf):设为 640(owner:r/w, group:r, others:—)
- Web应用配置(如 .env):设为 600(仅owner可读写),并确保web服务器用户(如www-data)属于该文件owner组或通过其他机制安全加载
- 日志文件:默认应为 640 或 644,但若含敏感字段(如密码、token),须改用 640 并限制属组
- 私钥文件:强制 600,且属主为对应服务用户(如 mysql、nginx),禁止组和其他人任何权限
建立常态化检查机制
将Others权限审计纳入CI/CD流水线和主机巡检脚本:
- 在部署后自动运行权限扫描,发现异常立即告警并阻断发布
- 使用Ansible或SaltStack统一管理关键路径的权限模板,避免手工误配
- 对容器镜像构建过程加入 RUN find /app -type f -perm -o+r -o -perm -o+w -print 检查步骤
- 定期导出权限基线(如用 getfacl -R /etc > baseline.acl),便于变更比对










