【Linux】文件目录管理
【Linux】文件目录管理【一】Linux 标准根目录FHS 文件系统层次标准全目录及作用【1】核心系统目录【2】现代运行时目录临时内存文件系统 tmpfs【3】用户专属目录【二】新建用户 / 用户组自动创建的目录【1】创建用户流程useradd自动生成内容① 系统原始目录/etc/bin /var/usr /root 等② 用户新建目录/home/test 普通用户家目录补充/root 特殊点【2】/etc/skel 作用【3】用户组对应目录【4】核心差异总结【三】不同用户启动服务的核心区别权限、资源、安全、文件隔离【1】权限差异最关键1root 启动服务2专用系统用户mysql、nginx、redis3自定义普通业务用户app、test【2】文件 / 目录隔离区别【3】端口、资源限制【4】日志、进程归属区分【5】安全层面总结【6】补充Systemd 管理服务指定运行用户【四】高频总结【一】Linux 标准根目录FHS 文件系统层次标准全目录及作用Linux 所有目录都挂载在/根下分为系统核心目录、运行时临时目录、用户数据目录三大类。【1】核心系统目录表格目录全称核心作用/root 根整个文件系统最顶层所有文件起点/binBinary普通用户可执行基础命令ls、cp、mv、cat、cd 等单用户模式也能用/sbinSystem Binary管理员 root 专用系统命令fdisk、ifconfig、mount、reboot、iptables/bootBoot系统启动文件内核 vmlinuz、grub 引导程序、initramfs磁盘分区很小/devDevice硬件设备文件硬盘 /dev/sda、网卡 /dev/eth0、串口 /dev/tty、空设备 /dev/null/etcEtcetera系统全局配置文件所有服务、用户、网络配置都在这里passwd 用户、group 用户组、nginx/ssh/redis 配置都存放于此/lib//lib64Library系统程序依赖的动态链接库.so对应 /bin/sbin 命令运行依赖/mntMount临时手动挂载目录U 盘、移动硬盘、临时磁盘分区手动挂载点/mediaMedia自动挂载外设U 盘、光驱、移动存储桌面系统常用/optOptional第三方大型商业软件安装目录Oracle、MySQL、JDK、商业化中间件/rootRoot home超级管理员 root 的家目录只有 root 有权进入和普通用户 /home 区分开/tmpTemporary全局临时文件目录所有用户可读写系统定时自动清理文件/usrUnix Software Resource系统预装软件资源占磁盘最大/usr/bin普通用户完整命令/usr/sbin完整管理工具/usr/lib应用程序库/usr/share文档、字体、配置模板/usr/local管理员手动编译安装软件源码安装默认路径/varVariable可变数据目录运行时不断产生数据/var/log系统、服务日志/var/lib数据库、容器持久化数据/var/run进程 pid 文件现已软链接到 /run/var/spool邮件、打印队列【2】现代运行时目录临时内存文件系统 tmpfs/run进程运行时临时数据存放 pid、socket 套接字重启全部清空/proc虚拟内核文件系统不占磁盘实时查看内核、进程、CPU、内存信息ps、top 读取这里数据/sys硬件设备虚拟文件管理内核硬件、驱动参数【3】用户专属目录/home所有普通用户默认家目录根目录新建用户 user1 会自动创建/home/user1【二】新建用户 / 用户组自动创建的目录【1】创建用户流程useradd自动生成内容执行useradd testpasswd test时默认生成用户记录写入/etc/passwd用户组写入/etc/group、密码影子文件/etc/shadow若加-m参数自动创建家目录/home/test复制模板文件/etc/skel下隐藏文件到家目录.bashrc、.profile、.bash_logout、.vimrc① 系统原始目录/etc/bin /var/usr /root 等归属系统、权限严格受控属主 root权限 755/700系统安装时自带全局共用所有用户共享读取写入仅 root存放系统命令、全局配置、系统日志、内核、硬件驱动删除会直接导致系统崩溃、命令失效、服务无法启动生命周期跟随操作系统重装全局生效。② 用户新建目录/home/test 普通用户家目录归属单独用户属主 test:test权限默认 700其他用户无法进入查看创建用户时生成仅当前用户私有空间存放用户个人文件、脚本、个人配置、下载数据、个人程序删除用户userdel -r test目录同步删除不影响系统运行内部隐藏文件.bashrc仅当前用户登录生效只修改个人 shell 环境。补充/root 特殊点root 是超级用户家目录不属于 /home权限比普通家目录更严格只有 root 能访问。【2】/etc/skel 作用创建用户家目录的模板文件夹所有新建用户都会复制里面环境配置修改 skel 文件后续新建用户自动继承自定义 shell 配置。【3】用户组对应目录单纯创建组groupadd testgroup不会生成任何文件夹只有把用户加入组、创建用户家目录后目录属组才会变成对应组组仅控制文件读写权限不创建独立目录。【4】核心差异总结表格维度系统原始目录用户家目录 /home/xxx创建时机系统安装初始化useradd -m 创建用户时生成属主权限root普通用户仅读当前用户私有他人无访问权限作用范围全系统全局共用仅单个用户私有存储删除影响删则系统损坏删除仅丢失该用户数据系统无恙配置生效所有用户全局生效仅登录该用户时生效【三】不同用户启动服务的核心区别权限、资源、安全、文件隔离Linux 服务分三类启动身份root 用户、普通系统用户nginx/mysql、自定义业务普通用户app【1】权限差异最关键1root 启动服务拥有系统最高权限读写所有目录、修改系统配置、绑定 1024 以下低端口80、443、22、3306、操作硬件、修改内核参数风险极高服务漏洞会直接拿到服务器最高权限入侵后可删全盘、篡改系统适用极少数底层系统服务sshd、crond、networkd业务软件禁止 root 运行。2专用系统用户mysql、nginx、redis安装中间件自动创建的无登录用户/sbin/nologin无家目录、不能 ssh 登录服务器权限最小化仅拥有软件数据目录读写权限如/var/lib/mysql无法修改系统文件、无法绑定低端口需 root 授权或端口转发安全即便程序被攻破攻击者权限受限无法篡改系统行业标准数据库、web 服务统一使用独立专用用户运行。3自定义普通业务用户app、test开发 / 运维手动创建可登录用户/bin/bash有独立 /home/app 家目录仅拥有家目录、分配的业务目录读写权限不能修改系统配置、无法操作核心系统目录多用于自研 Java/Go/Python 业务程序程序日志、代码存放自家目录支持 ssh 登录可手动启停程序。【2】文件 / 目录隔离区别root 启动服务日志、数据可随意存放在/etc/root/var任意位置专用用户mysql数据强制隔离在专属目录/var/lib/mysql其他用户无权限读写数据库文件普通 app 用户业务代码、日志、缓存全部隔离在/home/app和系统目录完全分开互不干扰。【3】端口、资源限制root可绑定 1~65535 所有端口无文件句柄、进程数硬限制可直接修改系统限制普通用户nginx/app默认只能绑定 1024 以上高端口打开文件数、最大进程受/etc/security/limits.conf限制资源耗尽无法随意突破。【4】日志、进程归属区分进程 PID 文件、日志文件属主 启动服务的用户root 启动进程ps 查看 UID0普通用户进程 UID 为 1000权限不足场景普通用户启动 nginx 监听 80 端口会直接报错permission denied必须用 root 启动或 setcap 授权。【5】安全层面总结root 运行权限无隔离漏洞 服务器沦陷独立专用用户最小权限原则生产环境推荐所有中间件、业务程序使用可登录普通用户兼顾手动调试适合自研业务禁止运行数据库、对外 web 服务。【6】补充Systemd 管理服务指定运行用户服务配置文件/usr/lib/systemd/system/xxx.service可配置UserappGroupapp实现进程以普通用户身份后台运行即便 systemd 由 root 管理业务进程权限被隔离。【四】高频总结Linux 系统目录分全局系统目录root 归属和用户私有家目录/home创建用户-m才会生成独立私有目录组本身不生成文件夹仅管控权限系统目录全局共享、删则系统损坏用户家目录私有、删除不影响系统root 启动服务权限无限但风险极高专用 / 普通用户权限隔离是生产环境安全规范。

相关新闻

48.C语言函数指针:嵌入式开发的核心利器

48.C语言函数指针:嵌入式开发的核心利器

一、函数指针的本质在C语言中,函数名本质是函数入口地址的常量符号,和数组名类似,函数名会隐式转换为指向函数代码段入口的指针。CPU执行函数调用,本质就是跳转到该入口地址执行指令,函数指针就是存储这个入口地址的变…

2026/7/17 5:20:26阅读更多 →
C++类与对象:从内存布局到this指针的实例化原理

C++类与对象:从内存布局到this指针的实例化原理

1. 项目概述:从蓝图到实体当我们谈论C中的“类和对象”,很多初学者会感到困惑:类是什么?对象又是什么?它们之间到底有什么关系?其实,我们可以用一个非常生活化的比喻来理解:类就像一…

2026/7/17 5:20:25阅读更多 →
前端独立 Nginx 容器 Docker 部署教程(手动构建前端包)

前端独立 Nginx 容器 Docker 部署教程(手动构建前端包)

前言 本次部署采用前端项目独立容器部署方案,基于 Nginx 容器托管前端静态资源,并通过 Nginx 反向代理实现后端接口转发,单独暴露外网访问端口。 好处: 该部署模式实现了前端项目完全解耦、独立部署,与服务器上其他项目…

2026/7/17 5:15:25阅读更多 →
具身智能的定义、特征与原理解析(18)

具身智能的定义、特征与原理解析(18)

前沿技术介绍:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,属于“物理AI” 领域的一种全新技术形态,完成了从“虚拟世界”到“…

2026/7/17 6:20:31阅读更多 →
具身智能的定义、特征与原理解析(16)

具身智能的定义、特征与原理解析(16)

前沿技术介绍:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,属于“物理AI” 领域的一种全新技术形态,完成了从“虚拟世界”到“…

2026/7/17 6:20:31阅读更多 →
开源EMOS-简单嵌入式操作系统

开源EMOS-简单嵌入式操作系统

[**### 开源软件EMOS简介 [开源软件EMOS**] http://sourceforge.net/projects/emos/ 摘要:EMOS 是基于 uCOS-ii v2.0 改写的开源嵌入式操作系统,采用商业化代码风格,提供 MinGW 仿真平台环境,支持 32 位和 64 位 Windows 系统。系…

2026/7/17 6:20:31阅读更多 →
Chromium项目C++与Rust跨语言交互:CXX工具链实战指南

Chromium项目C++与Rust跨语言交互:CXX工具链实战指南

1. 项目概述:为什么Chromium拥抱Rust,以及跨语言交互的挑战如果你关注过Chromium项目的开发动态,或者像我一样长期混迹在浏览器内核和系统编程的圈子里,最近几年肯定能感受到一股强烈的“Rust风潮”。这不仅仅是技术栈的简单叠加&…

2026/7/17 6:20:31阅读更多 →
日志与线程池

日志与线程池

bit::Shadow✧(≖ ◡ ≖✿ 目录 日志 日志介绍 日志的中心实现 5个亮点 0.策略模式 1.gsep&#xff08;global seperator&#xff09;分隔符(兼容性极好缓冲区刷新行为) 2.命名空间宏定义用户态接口 3.重载<<递推返回 4.enum class强枚举类型支持 开发顺序 线…

2026/7/17 6:20:31阅读更多 →
MySQL级联复制中server_id冲突的排查与解决

MySQL级联复制中server_id冲突的排查与解决

1. 问题背景与现象描述最近在维护一个MySQL级联复制环境时&#xff0c;遇到了一个典型的同步异常问题。环境拓扑是这样的&#xff1a;旧集群主库&#xff08;Server A&#xff09;→ 新集群主库&#xff08;Server B&#xff09;→ 新集群从库&#xff08;Server C&#xff09;…

2026/7/17 6:15:31阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比&#xff1a;全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时&#xff0c;第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/16 8:28:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件&#xff1a;5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/16 6:53:04阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL&#xff1a;跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/16 12:02:41阅读更多 →
VS Code 高效配置与个性化定制全攻略

VS Code 高效配置与个性化定制全攻略

1. VS Code 高效配置基础作为一款轻量级但功能强大的代码编辑器&#xff0c;VS Code 的默认配置已经能满足基本需求&#xff0c;但通过合理调整设置可以大幅提升编码效率。我使用 VS Code 已经有五年多时间&#xff0c;期间尝试过各种配置方案&#xff0c;总结出这套适合大多数…

2026/7/17 0:00:01阅读更多 →
从竞赛代码到桌面工具:让 SuperADD 与 SubspaceAD 真正跑进自己的图像

从竞赛代码到桌面工具:让 SuperADD 与 SubspaceAD 真正跑进自己的图像

在异常检测领域,很多优秀算法最初都是以研究代码的形式发布的。它们能够在固定测试集上复现实验结果,却不一定能被普通用户直接拿来测试自己的图片。尤其是最近很多算法仅提供在固定测试集的测试环境,而gradio的demo演示也不会提供。 对工程应用和在自己的图片上进行测试来…

2026/7/17 0:00:01阅读更多 →
WinRAR高效配置指南:从基础安装到高级压缩实战

WinRAR高效配置指南:从基础安装到高级压缩实战

前几天帮同事处理一个客户发来的压缩包&#xff0c;解压时系统自带的工具弹出一串乱码&#xff0c;换用 WinRAR 却顺利打开了。这种看似简单的场景&#xff0c;恰恰暴露了不同压缩工具在处理非标准编码、分卷压缩或加密文件时的差异。WinRAR 作为一款老牌工具&#xff0c;真正价…

2026/7/17 0:00:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/16 20:13:14阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/16 8:58:42阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/16 17:10:26阅读更多 →