当前位置: 首页 > news >正文

Linux目录的庖丁解牛

Linux 目录结构是操作系统与用户交互的骨架,它不仅是文件存储的位置,更是系统设计哲学、安全模型、运维规范的集中体现。


一、FHS(Filesystem Hierarchy Standard):统一的目录契约

Linux 目录遵循FHS 国际标准,确保不同发行版(Ubuntu/CentOS/Debian)行为一致。核心思想:

“一切皆文件,目录即角色”


二、核心目录解析(按功能分类)

▶ 1.系统运行基石
目录作用关键子目录
/bin基础命令(所有用户可用)ls,cp,bash
/sbin系统管理命令(root 专用)fdisk,iptables
/lib系统库文件libc.so, 内核模块
/etc配置文件中心nginx/,php/,systemd/

💡PHP 程序员重点

  • Web 服务器配置:/etc/nginx/sites-available/
  • PHP 配置:/etc/php/8.2/fpm/php.ini
▶ 2.可变数据区
目录作用关键子目录
/var运行时生成的数据
├─/var/log日志文件nginx/access.log,mysql/error.log
├─/var/lib程序状态数据mysql/(数据库文件),php/sessions
├─/var/wwwWeb 根目录(约定俗成)html/,laravel/

⚠️安全警告
/var/www必须禁止执行权限(防 Webshell):

chmod-R a-w /var/www/html/uploads
▶ 3.用户与临时空间
目录作用权限特点
/home用户家目录700(仅用户可访问)
/tmp临时文件1777(sticky bit,防删除他人文件)
/run运行时变量(内存文件系统)重启清空

💡PHP 会话存储
默认路径/var/lib/php/sessions(非/tmp!)

▶ 4.设备与挂载点
目录作用特殊性
/dev设备文件sda(硬盘),null(黑洞)
/mnt临时挂载点手动挂载 U 盘
/media自动挂载点Ubuntu 自动挂载 USB

三、权限与安全机制

▶ 1.目录权限三要素
  • 读(r):列出目录内容(ls
  • 写(w):创建/删除文件(需配合执行权限)
  • 执行(x):进入目录(cd

关键规则
删除文件只需目录的写权限,与文件自身权限无关!

▶ 2.特殊权限位
权限符号作用
Sticky Bitt/tmp中仅文件所有者可删除
SetGIDs新建文件继承目录组(chmod g+s /var/www

💡Web 目录最佳实践

chown-R www-data:www-data /var/wwwchmod-R g+s /var/www# 组继承find/var/www -type d -execchmod755{}\;find/var/www -type f -execchmod644{}\;

四、PHP 开发者实战指南

▶ 1.项目部署目录结构
/var/www/ ├── html/ # 静态资源(Nginx root) ├── laravel-app/ # Laravel 项目 │ ├── public/ # Web 入口(软链接到 html/app) │ └── storage/ # 日志/缓存(需写权限) └── logs/ # 自定义日志(独立于应用)
▶ 2.权限配置脚本
#!/bin/bash# fix-permissions.shAPP_DIR="/var/www/laravel-app"# 设置所有者chown-R www-data:www-data$APP_DIR# 设置目录权限find$APP_DIR-type d -execchmod755{}\;# 设置文件权限find$APP_DIR-type f -execchmod644{}\;# 特殊目录写权限chmod-R775$APP_DIR/storage$APP_DIR/bootstrap/cache
▶ 3.日志管理
  • 分离日志
    // config/logging.php'channels'=>['daily'=>['path'=>'/var/log/laravel/app.log',// 非 storage/logs],]
  • Logrotate 配置
    # /etc/logrotate.d/laravel/var/log/laravel/*.log{daily missingok rotate30compress delaycompress notifempty}

五、终极心法

**“Linux 目录不是文件柜,
而是操作系统的神经网络——

  • 当你理解/etc
    你在掌握系统配置;
  • 当你驾驭/var
    你在管理运行时生命;
  • 当你敬畏/tmp
    你在防范安全漏洞。

真正的运维智慧,
是让每个文件,
都待在它该待的地方。”


结语

从今天起:

  1. 部署项目前规划目录结构
  2. chmod g+s替代777
  3. 将日志移出 Web 目录

因为最好的系统安全,
始于对目录权限的敬畏。

http://www.jsqmd.com/news/248547/

相关文章:

  • 只有PHP有CLI模式吗?
  • 解决大模型长对话致命悖论:滚动摘要架构让你的Agent永不卡顿,建议程序员收藏学习!
  • django-flask基于python的C语言数据结构的课程自主学习系统的设计与实现
  • django-flask基于python的《计算机网络》在线学习平台设计与实现
  • 收藏必备!从零开始构建MCP Agent:让大模型进化为能干活的助手,实战指南
  • PHP程序员敬畏生命的庖丁解牛
  • django-flask基于python的《面向对象程序设计》在线题库考试系统
  • 失业PHP程序员感恩失业的庖丁解牛
  • django-flask基于python的在线课程平台的设计与开发
  • FastAPI缓存提速实战:手把手教你用Redis为接口注入“记忆”
  • 实现AI智能排版功能,输入杂乱的文本内容,自动调整字体,行距,分段,生成美观的文档。
  • 方差齐性是指各组数据的方差相等
  • 收藏必备!小白到专家:AI大模型学习全攻略(附资料)
  • 正则表达式入门:快速掌握核心规则,轻松验证邮箱格式
  • 学生工作管理系统如何助力教育管理现代化发展
  • 【深度收藏】大模型部署框架对决:Ollama与vLLM谁更适合你?从入门到生产环境全方位解析
  • Wireshark中文版(网络抓包工具)
  • Spring IoC是什么意思?3分钟讲清核心原理与作用
  • 【建议收藏】RAG技术选型指南:MaxKB还是FastGPT?一文带你读懂企业级知识库构建方案
  • 橡胶制品:柔性赋能多领域,绿色转型启新程
  • AI产品经理必看!手把手教你绘制AI智能体架构图
  • setcommmask有什么用?串口编程的事件过滤器详解
  • 导师推荐!MBA必备10款AI论文软件测评TOP10
  • 圆角矩形设计优势与前端实现技巧详解
  • 收藏!小白程序员入门大模型必看:别怕零基础,这门热门技术你也能掌握
  • 【深度学习】YOLO 进阶提升之算法改进(新型骨干网络 / 特征融合方法 / 损失函数设计)
  • AI落地实践:2026年十大行业应用全解析 | 程序员学习指南,建议收藏
  • C++ Win32窗口编程中窗口风格(Window Styles)的使用经验与相关要点总结(附源码)
  • 索磷布韦维帕他韦Sofosbuvir/velpatasvir治疗丙型肝炎的病毒学治愈周期与泛基因型疗效
  • 收藏!大模型面试必问:为什么有KV-Cache却没有Q-Cache?