0

0

Linux文件访问限制配置_敏感数据保护方法【指导】

冷漠man

冷漠man

发布时间:2026-01-01 18:51:12

|

195人浏览过

|

来源于php中文网

原创

linux文件权限需用chmod/chown硬性限制,禁用“隐藏”式防护;敏感文件设600,服务目录用chown+750;acl支持细粒度授权;selinux/apparmor实现进程级强制访问控制。

linux文件访问限制配置_敏感数据保护方法【指导】

Linux文件权限设置:用 chmodchown 控制谁能看到什么

敏感文件不能靠“藏”来保护,必须靠权限机制硬性限制。Linux 默认的 umask 常为 0022,新建文件会获得 -rw-r--r--(644),这意味着同组和其他用户都能读——这在生产环境里是高危默认值。

  • 敏感配置文件(如 /etc/shadow~/.aws/credentials)应设为 600
    chmod 600 ~/.aws/credentials
  • 可执行脚本若含密钥,需同时禁写和禁其他用户访问:
    chmod 700 /opt/app/secrets.sh
  • 修改属主属组比改权限更稳妥,尤其对服务目录:
    chown root:appadmin /etc/app/config.d/ && chmod 750 /etc/app/config.d/
  • 注意:chmod -R 误用极易锁死服务,比如对整个 /var/www 递归设 600 会让 Web 服务器因无法读取 HTML 文件而 500 错误

ACL(访问控制列表):需要细粒度授权时绕过传统三元组限制

当一个文件既要给运维组读取、又要给审计组只读、还不能开放给开发组时,chmod 的 user/group/others 模型就不够用了。这时得用 setfacl

  • 启用 ACL 前确认文件系统挂载时带 acl 选项:
    mount | grep " /home " | grep acl
    ,没看到就需重新挂载或改 /etc/fstab
  • 给特定用户加读权限(不改动原属主):
    setfacl -m u:auditor:r /etc/app/secrets.yaml
  • 禁止某用户访问(即使他在属组里):
    setfacl -m u:devuser:--- /etc/app/secrets.yaml
  • ACL 权限优先级高于传统权限,但 ls -l 结尾的 + 容易被忽略,务必用 getfacl /path 确认实际生效规则

SELinux 或 AppArmor:进程级强制访问控制,防程序越权读取

普通权限只能拦住“人”,拦不住被入侵的进程。比如 Web 服务进程被 RCE 利用后,它仍能按自身 UID 读取同用户下其他文件。SELinux(RHEL/CentOS)或 AppArmor(Ubuntu/Debian)能定义“nginx 只能读 /var/www,禁止访问 /root/etc/shadow”。

万彩AI
万彩AI

多功能AI创作工具合集,支持AI写作、AI换脸、AI数字人等

下载
  • 检查是否启用:
    sestatus
    (SELinux)或
    aa-status
    (AppArmor)
  • 临时切换到宽容模式排查策略冲突:
    sudo setenforce 0
    (SELinux),但上线前必须关回 1
  • 自定义策略要先用 audit2why 分析拒绝日志,再用 audit2allow 生成规则,直接手写容易漏掉隐式依赖(如 read 之前可能需要 opengetattr
  • 容器环境别依赖宿主机 SELinux:Docker 默认禁用,Kubernetes Pod 需显式设 securityContext.seLinuxOptions

隐藏文件不是安全措施:.env.git 这类文件照样会被读取

很多团队把密钥塞进 .env.git/config 就以为安全了,这是严重误解。点开头的文件只是 ls 默认不显示,cat .envfind /app -name ".env"、甚至 Web 服务器配置错误导致源码泄露时,它们全都会裸奔。

  • .env 文件必须配合应用框架的加载逻辑使用,且部署时确保其不在 Web 根目录下(Nginx 中用 location ~ /\.env { deny all; } 是补救,不是替代)
  • .git 目录若被暴露,攻击者能直接下载全部历史提交,包括曾经删掉的密钥——用 git secrets 预检 + CI 拦截比事后删记录可靠得多
  • 临时文件风险常被忽视:/tmp 下的 config.XXXXXX 若未设 mkstemp() 或权限,可能被同主机其他用户 cat
  • 最稳妥的做法:敏感数据不落地。用 systemdEnvironmentFile= 指向 /run/secrets/(tmpfs),或通过 Vault 动态注入

实际配置中,chmodchown 是基础,ACL 解决协作场景,SELinux/AppArmor 应对纵深防御需求,而所有“隐藏”“重命名”“放子目录”的做法都不可信——Linux 权限模型从不关心文件名,只认 inode 和策略规则。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

245

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

521

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

608

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

244

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

651

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3614

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

53

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

70

2026.01.13

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

1

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.2万人学习

Git 教程
Git 教程

共21课时 | 4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号