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.mzph.cn/news/1163778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

django-flask基于python的C语言数据结构的课程自主学习系统的设计与实现

目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 该系统基于Python的Django和Flask框架,设计并实现了一个面向C语言数据结构课程的自主学习平台&#xff0c…

只有PHP有CLI模式吗?

不是,PHP 并非唯一拥有 CLI(Command-Line Interface)模式的编程语言。 几乎所有主流编程语言都提供 CLI 模式,用于 脚本执行、自动化任务、开发工具链 等场景。 一、主流语言的 CLI 支持 语言CLI 启动方式典型用途PHPphp script.…

解决大模型长对话致命悖论:滚动摘要架构让你的Agent永不卡顿,建议程序员收藏学习!

随着对话进行,messages 会不断累积,很快就超出大语言模型(LLM)的上下文限制。 在不依赖外部存储(如数据库)的前提下,我尝试用一个总结节点(summarizer node) 来压缩上下文…

PHP程序员敬畏生命的庖丁解牛

“PHP 程序员敬畏生命” 并非哲学空谈,而是 将对生命的尊重转化为代码中的责任、系统中的韧性、协作中的温度。一、敬畏生命 敬畏代码的后果 ▶ 1. 医疗系统:一行代码关乎生死 场景: 医院预约系统、药品剂量计算、急救调度PHP 实践&#xff…

收藏必备!从零开始构建MCP Agent:让大模型进化为能干活的助手,实战指南

MCP代理正在颠覆智能体的边界,它不再只是“对话专家”,而是真正能与真实应用沟通并完成任务的AI大脑。 从代码调用、任务调度,到插件执行、决策控制,MCP(Model Context Protocol)让大模型从“只会聊天”进…

django-flask基于python的《计算机网络》在线学习平台设计与实现

目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 基于Python的《计算机网络》在线学习平台采用Django和Flask框架开发,旨在为学生和教师提供高效、便捷的计…

django-flask基于python的《面向对象程序设计》在线题库考试系统

目录面向对象程序设计在线题库考试系统(基于Django/Flask)关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!面向对象程序设计在线题库考试系统(基于…

失业PHP程序员感恩失业的庖丁解牛

“失业 PHP 程序员感恩失业” 并非自我安慰,而是一种 将危机转化为成长契机的认知重构。它不是感谢“失去工作”,而是感谢 失业带来的反思空间、行动自由与重生机会。一、心理机制:从“受害者”到“主导者” ▶ 1. 认知重构(Cogni…

django-flask基于python的在线课程平台的设计与开发

目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着在线教育的普及,基于Python的Web框架如Django和Flask成为开发在线课程平台的高效工具。该平台旨在为用…

FastAPI缓存提速实战:手把手教你用Redis为接口注入“记忆”

你的FastAPI接口是不是在高并发下越来越慢,数据库频频告警? 一个案例,一个核心查询接口,在日活仅5万时,平均响应时间就飙升到了1.2秒。排查后发现,超过80%的请求都在重复查询数据库里那几条几乎不变的热点数…

实现AI智能排版功能,输入杂乱的文本内容,自动调整字体,行距,分段,生成美观的文档。

下面我将为您提供一个完整的、基于Python的“AI智能排版助手”(SmartFormatter)程序。项目概览:SmartFormatter - AI智能排版助手核心功能:用户提供一个包含杂乱文本的Markdown文件(例如从网页复制过来的内容&#xff…

方差齐性是指各组数据的方差相等

下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文5296字)。 2篇3章5节:认识方差和方差齐性检验(三种方法全覆盖)-CSDN博客 二、方差齐性检验 方差齐性检验在统计分析中占有重要地位,尤其是…

正则表达式入门:快速掌握核心规则,轻松验证邮箱格式

正则表达式是处理文本的利器,掌握它能极大提升工作效率。但许多初学者望而生畏,认为它复杂难懂。实际上,只要理解其核心概念和常见应用场景,就能快速上手并解决实际问题。本文将从几个具体问题出发,帮助你快速理解和使…

收藏必备!小白到专家:AI大模型学习全攻略(附资料)

内容覆盖了五大核心部分: ​ • 什么是 AI:关键术语与发展脉络 ​ • Prompting:提示工程的框架与进阶技巧 ​ • AI Agents:下一代自动化工作系统 ​ • Vibe Coding:AI 协作式编程方法 ​ • 未来趋势:20…

学生工作管理系统如何助力教育管理现代化发展

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

Wireshark中文版(网络抓包工具)

Wireshark是一款强大的网络分析软件,可以帮助用户抓取、分析、解码网络上的数据包。它被广泛用于网络故障排除、分析、软件和通信协议开发以及教育等领域,支持Windows、macOS和Linux等多种操作系统。 软件功能 数据包捕获:可实时或离线抓取网…

【深度收藏】大模型部署框架对决:Ollama与vLLM谁更适合你?从入门到生产环境全方位解析

引言 🎯 开源 LLM 模型已经成为爱好者、程序员和希望在日常工作中使用生成式 AI 同时保护隐私的用户的热门选择。这些模型性能出色,有时在许多任务上甚至可以媲美像 GPT-4o 或 Claude Sonnet 3.5 这样的大型闭源模型。 虽然它们是开源的,但并…

【建议收藏】RAG技术选型指南:MaxKB还是FastGPT?一文带你读懂企业级知识库构建方案

RAG技术是当前阶段做内部知识库或者智能客服的不二之选。然而目前市面上可用作RAG的开源软件实在是太多了,Coze、Dify、FastGPT、RAGFlow还有MaxKB,当然还有其它,我就不再一一列举了。 今天这篇文章主要探讨在RAG领域,到底是选Max…

橡胶制品:柔性赋能多领域,绿色转型启新程

橡胶,作为一种兼具高弹性、耐磨性与密封性的特殊材料,其制品早已深度融入人类生产生活的方方面面。从驰骋公路的汽车轮胎到精密仪器的密封垫圈,从医疗领域的硅胶导管到日常使用的防滑手套,橡胶制品以其独特的柔性特质,…

Spring IoC是什么意思?3分钟讲清核心原理与作用

对于刚接触Spring框架的开发者来说,IoC(控制反转)是一个绕不开的核心概念。简单来说,它颠覆了传统程序主动创建和管理对象的模式,改由框架来接管这个过程。这不是一个空洞的理论,它直接决定了你如何构建松耦…