Linux 权限与软件包管理课堂笔记全解附实操踩坑案例前言今天整理 Linux 核心两大模块文件权限rwx、umask、目录 / 文件权限差异、权限报错实战软件包管理yum/rpm、服务器分发架构、本地源搭建逻辑结合课堂手写思维导图、实操报错案例把新手最容易踩的权限拒绝、yum 下载慢、权限设置不符合业务需求等问题一次性讲透。一、Linux 文件权限核心体系1. 基础权限标识 rwx 数字含义权限分三类身份属主 u、属组 g、其他 o每类都有读 r、写 w、执行 x 权限对应数字r 4w 2x 1 组合计算示例rwx------421 700rw-r--r--644普通文件默认权限rwxr-xr-x755普通目录默认权限2. 文件 vs 目录权限作用完全不同高频考点普通文件权限r可以读取文件内容cat、morew可以修改、覆盖、删除文件内容vim、echo x可以把文件当成程序执行./[xxx.sh](xxx.sh)目录权限重中之重90% 权限报错根源r可以列出目录内文件名ls没有 x 则只能看到名字无法进入 / 查看详情w可以在目录内新建、删除、重命名文件哪怕文件不属于你只要目录有 w 就能删x可以 cd 进入目录、访问目录下文件的元数据必须配合 r 才有完整 ls 功能关键坑点想读取目录里的文件目录必须同时具备 rx想新建 / 删除文件目录必须有 wx。3. umask 权限掩码控制新建文件 / 目录默认权限原理系统默认最大权限目录初始最大权限777文件初始最大权限666文件默认不会自带执行权限umask是要减去的权限掩码最终权限 初始最大权限 (~umask)课堂演算示例umask022目录777 - 022 755文件666 - 022 644umask007目录777 - 007 770文件666 - 007 660实操命令# 查看当前掩码 umask # 临时修改掩码重启失效 umask 027 # 永久修改写入 /etc/profile 或 ~/.bashrc echo umask 027 /etc/profile source /etc/profile4. 权限实操报错案例报错 Permission denied场景 1进入目录提示权限不足命令cd lesson07报错Permission denied原因当前用户对该目录缺少x 执行权限解决# 给其他用户增加执行权限 chmod ox lesson07 # 或者修改属主/属组 chown user1:group1 lesson07场景 2能 ls 看到文件名但 cat 读取文件失败原因目录有 r 无 x只能列出名字无法访问文件内容 解决给目录追加 x 权限chmod x 目录名场景 3共享目录业务需求高频面试题需求描述 同一个项目目录多人归属同一业务组可读写其他用户完全无任何访问权限。 实现步骤创建统一业务用户组groupadd dev把所有开发用户加入组usermod -aG dev user1目录设置属组为 dev权限 770chown :dev project/ chmod 770 project/调整 umask 为 007新建文件自动 660、目录 770外部用户无权限二、Linux 软件包管理yum/rpm 完整架构1. 为什么需要软件包管理器Linux 系统数千软件存在依赖关系A 软件运行需要 B 库、C 工具手动下载安装会出现依赖地狱rpm 负责本地包校验安装yum 自动解决依赖、远程下载。2. yum 完整分发架构思维导图拆解四层角色官方软件源服务器CentOS 官方仓库存放所有 rpm 包、依赖关系清单 repodata本地镜像服务器内网 Yum 源企业内网同步官方源解决外网下载慢、服务器无法联网场景客户端机器开发 / 业务服务器配置 repo 文件指向内网源运维开发人员执行 yum install/yum update 操作数据流转流程运维在客户端执行yum install nginx客户端读取/etc/yum.repos.d/*.repo获取源地址客户端请求内网镜像服务器的 repodata 依赖索引服务器核对依赖返回需要下载的 nginx 及所有依赖包客户端批量下载 rpm 包本地调用 rpm 完成安装3. 两种包管理工具分工rpm底层本地工具无网络功能常用命令rpm -ivh xxx.rpm # 本地安装包 rpm -qa | grep nginx # 查询已安装软件 rpm -ql nginx # 查询软件安装路径 rpm -e nginx # 卸载有依赖会报错缺点不会自动下载依赖缺少依赖直接安装失败。yum上层包管理工具基于 rpm自动处理依赖常用命令yum install nginx -y # 安装自动解决依赖 yum remove nginx -y # 卸载同步删除无用依赖 yum makecache # 生成本地缓存修改repo后必执行 yum list available # 查看源内可安装软件 yum clean all # 清理缓存4. 内网本地 Yum 源搭建逻辑课堂思维导图重点企业离线环境不能访问外网必须自建本地源完整链路一台能联网的同步服务器reposync同步官方所有 rpm 包 createrepo生成 repodata 依赖索引部署 httpd/nginx把同步好的包目录做成网页访问地址所有业务客户端修改 repo 文件baseurl 指向内网 http 地址客户端执行yum makecache加载新源即可离线安装所有软件5. 架构拓展多环境源隔离企业会搭建多套源区分环境base 源系统基础工具包epel 源第三方拓展软件nginx、redisdev 源开发测试专用新版软件prod 源生产稳定固定版本软件 客户端通过不同 repo 文件切换环境源避免测试新版影响生产稳定性。三、面试高频问答目录权限 w 和 x 哪个更关键 答x 是进入目录的基础没有 x单纯 w/r 都无法正常操作目录内文件删除文件的权限控制在目录不在文件本身。umask 为什么文件默认没有执行权限 答安全机制避免新建文本文件意外被执行只有手动 chmod x 后才会拥有执行权限。yum 和 rpm 区别 答rpm 仅本地处理 rpm 包不处理依赖yum 封装 rpm远程拉取包并自动递归安装所有依赖。离线服务器怎么安装软件 答搭建内网本地 yum 源提前同步所有 rpm 包与依赖索引内网服务器指向本地源实现离线安装。