news 2026/7/20 19:48:44

Linux 权限与软件包管理课堂笔记全解(附实操踩坑案例)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 权限与软件包管理课堂笔记全解(附实操踩坑案例)

Linux 权限与软件包管理课堂笔记全解(附实操踩坑案例)

前言

今天整理 Linux 核心两大模块:文件权限(rwx、umask、目录 / 文件权限差异、权限报错实战)+软件包管理(yum/rpm、服务器分发架构、本地源搭建逻辑),结合课堂手写思维导图、实操报错案例,把新手最容易踩的权限拒绝、yum 下载慢、权限设置不符合业务需求等问题一次性讲透。

一、Linux 文件权限核心体系

1. 基础权限标识 rwx 数字含义

权限分三类身份:属主 u、属组 g、其他 o,每类都有读 r、写 w、执行 x 权限,对应数字:

  • r = 4,w = 2,x = 1 组合计算示例:

  • rwx------:4+2+1 = 700

  • rw-r--r--:644(普通文件默认权限)

  • rwxr-xr-x:755(普通目录默认权限)

2. 文件 vs 目录,权限作用完全不同(高频考点)

普通文件权限
  1. r:可以读取文件内容(cat、more)

  2. w:可以修改、覆盖、删除文件内容(vim、echo >)

  3. x:可以把文件当成程序执行(./[xxx.sh](xxx.sh))

目录权限(重中之重,90% 权限报错根源)
  1. r:可以列出目录内文件名(ls),没有 x 则只能看到名字,无法进入 / 查看详情

  2. w:可以在目录内新建、删除、重命名文件(哪怕文件不属于你,只要目录有 w 就能删)

  3. x:可以 cd 进入目录、访问目录下文件的元数据(必须配合 r 才有完整 ls 功能)

关键坑点:想读取目录里的文件,目录必须同时具备 r+x;想新建 / 删除文件,目录必须有 w+x。

3. umask 权限掩码:控制新建文件 / 目录默认权限

原理

系统默认最大权限:

  • 目录初始最大权限777

  • 文件初始最大权限666(文件默认不会自带执行权限)umask是要减去的权限掩码,最终权限 = 初始最大权限 & (~umask)

课堂演算示例:

  1. umask=022

    1. 目录:777 - 022 = 755

    2. 文件:666 - 022 = 644

  2. umask=007

    1. 目录:777 - 007 = 770

    2. 文件:666 - 007 = 660

实操命令
# 查看当前掩码 umask # 临时修改掩码(重启失效) umask 027 # 永久修改:写入 /etc/profile 或 ~/.bashrc echo "umask 027" >> /etc/profile source /etc/profile

4. 权限实操报错案例(报错 Permission denied)

场景 1:进入目录提示权限不足

命令:cd lesson07报错Permission denied原因:当前用户对该目录缺少x 执行权限解决:

# 给其他用户增加执行权限 chmod o+x lesson07 # 或者修改属主/属组 chown user1:group1 lesson07
场景 2:能 ls 看到文件名,但 cat 读取文件失败

原因:目录有 r 无 x,只能列出名字,无法访问文件内容 解决:给目录追加 x 权限chmod +x 目录名

场景 3:共享目录业务需求(高频面试题)

需求描述: 同一个项目目录,多人归属同一业务组可读写;其他用户完全无任何访问权限。 实现步骤:

  1. 创建统一业务用户组groupadd dev

  2. 把所有开发用户加入组usermod -aG dev user1

  3. 目录设置属组为 dev,权限 770:chown :dev project/ && chmod 770 project/

  4. 调整 umask 为 007,新建文件自动 660、目录 770,外部用户无权限

二、Linux 软件包管理(yum/rpm 完整架构)

1. 为什么需要软件包管理器?

Linux 系统数千软件存在依赖关系(A 软件运行需要 B 库、C 工具),手动下载安装会出现依赖地狱;rpm 负责本地包校验安装,yum 自动解决依赖、远程下载。

2. yum 完整分发架构(思维导图拆解)

四层角色
  1. 官方软件源服务器:CentOS 官方仓库,存放所有 rpm 包、依赖关系清单 repodata

  2. 本地镜像服务器(内网 Yum 源):企业内网同步官方源,解决外网下载慢、服务器无法联网场景

  3. 客户端机器:开发 / 业务服务器,配置 repo 文件指向内网源

  4. 运维开发人员:执行 yum install/yum update 操作

数据流转流程
  1. 运维在客户端执行yum install nginx

  2. 客户端读取/etc/yum.repos.d/*.repo,获取源地址

  3. 客户端请求内网镜像服务器的 repodata 依赖索引

  4. 服务器核对依赖,返回需要下载的 nginx 及所有依赖包

  5. 客户端批量下载 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 源搭建逻辑(课堂思维导图重点)

企业离线环境不能访问外网,必须自建本地源,完整链路:

  1. 一台能联网的同步服务器:reposync同步官方所有 rpm 包 +createrepo生成 repodata 依赖索引

  2. 部署 httpd/nginx,把同步好的包目录做成网页访问地址

  3. 所有业务客户端修改 repo 文件,baseurl 指向内网 http 地址

  4. 客户端执行yum makecache加载新源,即可离线安装所有软件

5. 架构拓展:多环境源隔离

企业会搭建多套源区分环境:

  • base 源:系统基础工具包

  • epel 源:第三方拓展软件(nginx、redis)

  • dev 源:开发测试专用新版软件

  • prod 源:生产稳定固定版本软件 客户端通过不同 repo 文件切换环境源,避免测试新版影响生产稳定性。

三、面试高频问答

  1. 目录权限 w 和 x 哪个更关键? 答:x 是进入目录的基础,没有 x,单纯 w/r 都无法正常操作目录内文件;删除文件的权限控制在目录,不在文件本身。

  2. umask 为什么文件默认没有执行权限? 答:安全机制,避免新建文本文件意外被执行,只有手动 chmod +x 后才会拥有执行权限。

  3. yum 和 rpm 区别? 答:rpm 仅本地处理 rpm 包,不处理依赖;yum 封装 rpm,远程拉取包并自动递归安装所有依赖。

  4. 离线服务器怎么安装软件? 答:搭建内网本地 yum 源,提前同步所有 rpm 包与依赖索引,内网服务器指向本地源实现离线安装。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 19:48:40

半导体制造SPC实时监控与告警系统

【摘要】SPC(Statistical Process Control,统计过程控制)是半导体FAB质量管控的核心手段,一次控制图漏检导致的整批晶圆报废损失动辄数十万元。本文从Nelson 8条判异规则入手,详细讲解Xbar-R、CUSUM、EWMA等控制图的技…

作者头像 李华
网站建设 2026/7/20 19:46:03

近十年诺贝尔文学奖作品解析与阅读指南

1. 诺贝尔文学奖的价值与阅读意义诺贝尔文学奖自1901年设立以来,一直是全球文学领域的最高荣誉之一。这个奖项不仅是对作家个人成就的认可,更是对其作品所体现的人文关怀、思想深度和艺术创新的肯定。近十年来(2014-2023)&#xf…

作者头像 李华