吃透Linux文件系统!磁盘挂载+文件检索+特殊权限零基础实战

📅 2026/7/31 8:13:37
吃透Linux文件系统!磁盘挂载+文件检索+特殊权限零基础实战
前言磁盘爆满、挂载失败、找不到大文件、共享目录权限混乱、不明 SUID 木马文件…… 运维日常 80% 存储类故障根源都在于不熟悉 Linux 文件系统底层逻辑。本文基于 CentOS7 实战环境整合磁盘查看、挂载卸载、磁盘空间排查、文件检索 find/locate、SUID/SGID 特殊权限、本地 YUM 仓库落地案例全部命令可直接复制执行新手、面试、生产排错通用。一、Linux 块设备与文件系统基础1.1 块设备命名规则所有存储硬件以块设备文件存放在/dev目录系统自动生成不同硬件命名区分明显SATA/USB/SCSI 硬盘/dev/sda、/dev/sdb分区sda1、sda2云虚拟机 virtio 磁盘/dev/vda、/dev/vdbNVMe 高速固态/dev/nvme0n1分区nvme0n1p1SD 卡 / 嵌入式存储/dev/mmcblk0光驱镜像/dev/sr0本地 ISO 光盘源核心设备核心概念硬盘→分区→文件系统→挂载点。裸硬盘无法直接使用必须分区、格式化文件系统挂载到空目录才能读写。1.2 挂载点文件系统不能单独访问需要绑定到系统空白目录这个目录就是挂载点。系统默认挂载/根分区、/boot引导分区、/home用户分区自定义数据盘/data、/mnt、/dvd光盘挂载专用二、磁盘与空间查看核心命令df /du/lsblk /blkid2.1 lsblk树形查看全量磁盘、分区、挂载直观展示磁盘层级、分区大小、挂载点、LVM 逻辑卷排查磁盘硬件首选。lsblk lsblk /dev/sdb# 只查看单块磁盘lsblk-f# 附带文件系统类型、UUID关键字段NAME设备名SIZE容量TYPEdisk/part/lvmMOUNTPOINT挂载目录RM1代表可移动 U 盘 / 光驱2.2 df查看分区整体使用率排查磁盘 100% 爆满df 统计文件系统整体占用适合快速定位哪个分区空间不足。df -h1024 进制人性化单位运维日常标准df -H1000 进制和硬盘厂商标注容量一致df -hT同时显示文件系统类型xfs/ext4/tmpfsdf /boot只查看指定目录所属分区df-hTdf-h/datamount|grepdata# 过滤/data分区挂载参数2.3 du统计目录 / 文件真实占用定位占用空间大文件df 只能看分区总容量du 递归统计目录内部文件大小磁盘爆满排查必备。du -sk /目录仅输出总大小单位 KB适合脚本排序du -sh /目录人性化 G/M 单位汇总du -sh /* | sort -n逐级定位大目录实战根目录爆满逐层排查# 1. 扫描根目录一级目录大小du-sk/*|sort-n# 2. 进入/usr继续排查du-sk/usr/*|sort-n# 3. 直达大文件目录du-sh/usr/share/doc2.4 dd底层块数据读写工具底层磁盘复制、造测试大文件、制作启动盘、测 IO 性能高危命令写错硬盘会全盘清空。# 创建4G测试空文件ddif/dev/zeroof/tmp/bigfilebs1Mcount4096# 写入ISO到U盘启动盘ddifcentos7.isoof/dev/sdbbs4Mstatusprogress三、挂载与卸载文件系统 mount /umount 实战3.1 新磁盘完整使用流程虚拟机添加硬盘 → lsblk 识别/dev/sdb格式化文件系统mkfs.xfs /dev/sdb创建挂载点mkdir /data临时挂载mount /dev/sdb /data验证df -h /datamount 支持三种设备标识设备名、UUID、LABEL企业推荐 UUID 挂载设备名易变动blkid /dev/sdb# 获取分区UUIDmountUUIDf20547b2-df53-46e5-b526-a8744be26231/data3.2 umount 卸载与挂载点忙故障处理# 两种卸载写法设备名/挂载点均可umount/dev/sdbumount/data报错 target is busy目录被进程占用解决lsof 查看占用进程lsof/datafuser 快速定位访问进程fuser-m/data退出目录 / 杀死占用进程后再卸载3.3 拓展挂载 Windows U 盘Linux 默认不识别 NTFS/exFAT 格式 U 盘需要安装依赖包# NTFSyuminstallntfs-3g mount.ntfs /dev/sdb1 /mnt# exFAT 需要源码编译fuse-exfat3.4 企业实战HTTP 共享本地 DVD YUM 源ServerClient 架构Server 端发布光盘源安装 Nginx开启目录浏览 autoindex on创建网页目录/usr/share/nginx/html/dvd挂载光驱mount /dev/sr0 /usr/share/nginx/html/dvd放行防火墙启动 NginxClient 客户端配置备份原有官方源mkdir/etc/yum.repos.d/oldmv/etc/yum.repos.d/*.repo /etc/yum.repos.d/old创建 dvd.repo 网络仓库[dvd] nameServer共享DVD本地源 baseurlhttp://服务端IP/dvd gpgcheck0刷新缓存yum clean allyum makecache测试安装图形化套件yum groupinstall-yServer with GUI四、文件检索工具 locate find 全参数详解4.1 locate数据库快速检索速度快非实时底层依赖mlocate数据库不会实时扫描磁盘需要手动更新库文件。yuminstallmlocate updatedb# 更新文件数据库locatehttpd.conflocate-iPASSWD# -i忽略大小写locate-cpasswd# 统计匹配文件总数优缺点查询极快新增文件未执行 updatedb 则检索不到。4.2 find实时全盘扫描支持多条件复合筛选运维核心语法find 检索路径 匹配条件 执行动作1按名称、类型检索find/etc-namepasswd# 精准匹配文件名find/etc-inamepasswd# 忽略大小写find/-typef-name*.log# 只匹配普通文件find/-typed-nameshare# 只匹配目录2按文件大小查找磁盘清理神器单位c 字节、k KB、M MB、G GB大于-小于无符号等于find/-size100M2/dev/null# 全盘查找大于100M大文件find/tmp-size-10k# 小于10KB文件3按属主、属组、孤儿文件查找find/-userlizihanfind/-groupwheelfind/-nouser-o-nogroup# 无属主/无属组孤儿文件安全巡检4按 inode 查找定位硬链接同一个 inode 对应多个硬链接文件全盘批量查找ls-i/etc/fstab# 获取inode编号find/-inum67160130-execcp-a{}/findfiles\;{}代表匹配到的文件;是 - exec 结束标记。5核心难点-perm 权限匹配三种模式考试高频find -perm 755严格完全匹配权限多一位少一位都不命中find -perm -755包含匹配文件至少拥有 755 全部权限查找 SUID 专用find/-perm-4000# 查找所有带SUID的二进制程序find/-perm-2000# 查找SGID文件/目录find/-perm-1000-typed# 带粘滞位目录find -perm /755任意一组权限满足即匹配多用于批量扫描特殊权限文件6find 配套动作-ls展示文件完整权限、inode、大小-delete直接删除匹配文件清理日志慎用-exec {} ;对匹配文件执行自定义命令五、Linux 三大特殊权限 SUID / SGID / Sticky Bit普通 rwx 权限无法满足特殊场景共享、提权需求三个八进制特殊权限位是运维、安全必考内容。5.1 SUID 4000仅作用于二进制可执行文件规则普通用户运行程序时临时获得文件所有者权限。经典示例passwd命令属主 root普通用户执行可修改仅 root 可读的/etc/shadow。ls-l/usr/bin/passwd# -rwsr-xr-x 出现小写s代表SUID开启且拥有执行权限chmodus testbin# 添加SUIDchmod4755testbin# 数字写法chmodu-s testbin# 移除SUID安全风险恶意 root 属主 SUID 程序会导致本地提权需定期find / -perm -4000巡检。5.2 SGID 2000文件 / 目录双生效作用在文件运行进程继承文件所属组权限作用在目录企业共享目录必备目录内新建文件自动继承目录所属组多人协作无需手动改组# 共享目录实操mkdir/data/sharechgrpdev /data/sharechmodgs /data/share# 命令chmodgs /data/sharechmod2770/data/share标识组执行位显示s无执行权限则大写S权限失效。5.3 Sticky Bit 1000仅目录规则目录内文件只有文件创建者 /root 可以删除典型目录/tmp防止普通用户互相删除临时文件。chmodot /tmpfind/-perm-1000-typed特殊权限速记表权限八进制值符号适用对象核心功能SUID4000us二进制程序运行临时拥有文件属主权限SGID2000gs程序 / 目录程序继承属组目录新建文件继承目录组Sticky1000ot仅目录仅文件所有者可删除自身文件六、高频排错总结磁盘 100% 占用先用df -h定位分区du -sh /*逐级查找大文件find / -size 100M一键扫描超大文件挂载卸载提示 busylsof/fuser 查找占用进程退出目录再卸载yum 找不到软件检查 repo 配置执行yum clean all yum makecache刷新缓存共享目录文件组错乱目录添加 SGID 权限安全巡检定期扫描系统 SUID/SGID 异常文件防止提权漏洞结语Linux 一切皆文件磁盘、目录、权限、检索全部围绕文件系统体系展开。熟练掌握本文命令磁盘爆满、挂载故障、仓库搭建、权限共享四类日常问题均可独立解决同时覆盖 Linux 运维笔试核心考点适合收藏反复查阅。