尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Linux权限(一) 浅谈shell与内核的交互以及对权限的初识
目录一. shell 及其运行原理1.1 windows 和 linux 下的shell二. Linux 的权限2.1 linux 的用户2.2 添加\删除用户2.2.1 添加用户2.2.2 修改密码2.2.3 删除用户2.3 su 和 su -2.3.1 su2.3.1.1 代码示例 超级用户切换为普通用户2.3.1.2 代码示例 普通用户切换为超级用户2.3.2 su -2.3.3 切换用户的本质2.3.3.1 exit2.3.3.2 切换用户的本质2.4 sudo2.4.1 sudo 的白名单机制2.5 权限的深度认识2.5.1 权限的本质2.5.2 对权限的理解2.5.3 三大角色2.5.4 文件的三种权限属性2.4 chmod2.4.1 chmod命令权限值的格式2.4.2 代码示例2.4.3 相关小知识2.4.3.1 一次性修改多个角色权限2.4.3.2 修改文件权限的限制2.4.3.3 用户角色确定的唯一性2.4.3.4 root 权限不受控2.4.3.4 可执行权限 可执行2.4.4 数字表示法2.4.4.1 代码示例2.5 chown2.5.1 chown 使用注意事项2.6 chgrp2.6.1 chgrp 使用注意实现2.6.2 代码示例一. shell 及其运行原理Linux严格意义上说的是⼀个操作系统 我们称之为 “核心kernel“ 但我们⼀般用户不能直接使用kernel。而是通过kernel的“外壳”程序也就是所谓的shell来与kernel沟通。如何理解为什么不能直接使用kernel回答一Shell 是运行在操作系统内核之外的命令行解释器可以理解为操作系统的一层“外壳”。它为用户提供命令行界面负责接收并解析用户输入的命令然后执行内置命令或启动相应程序这些程序再通过系统调用与操作系统内核交互最后将执行结果显示给用户。回答二那我们不妨想想使用外壳程序有什么好处1. 方便用户操作。2. 当用户输入非法指令时shell 可以及时拦截下来保护操作系统内核。3. 当有新命令来时外壳程序本身并不会去执行而是让子进程去执行保护外壳程序本身。1.1 windows 和 linux 下的shellwindows 的外壳程序可以理解为是命令行外壳或者图形化界面外壳。linux 常用的命令行外壳是bash,linux 也有图形化界面但这里不再过多介绍。二. Linux 的权限2.1 linux 的用户linux 的用户可以分为两种超级用户root命令提示符为#可执行系统中任何操作如删除系统文件、修改权限不受限制普通用户命令提示符为$仅能操作自己权限范围内的文件如修改自己的文档受严格限制。2.2 添加\删除用户2.2.1 添加用户使用下面指令然后按照要求完成即可adduser 用户名2.2.2 修改密码使用下面指令然后按照要求完成即可passwd 用户名2.2.3 删除用户使用下面指令然后按照要求完成即可加上选项 -r 表示把用户账户和它的家目录一起删掉不加 -r 则只会删掉账号userdel -r 用户名2.3 su 和 su -2.3.1 susu 主要用于切换用户。2.3.1.1 代码示例 超级用户切换为普通用户su 用户名2.3.1.2 代码示例 普通用户切换为超级用户su2.3.2 su -su - 的用法和 su 别无二致我们来重点讲讲二者的不同su主要切换用户身份su -不仅切换身份还切换到目标用户完整的登录环境。举个例子假设我先以普通用户lzx的身份登录那么此时我所处目录应该是/home/lzxsu 切换至超级用户所处目录还是/home/lzx;su - 切换至超级用户所处目录变为/root2.3.3 切换用户的本质2.3.3.1 exit我们先来认识一下exitexit 就是用来退出当前用户和我们之前介绍的ctrl d比较相似。2.3.3.2 切换用户的本质当我们由普通用户切换至超级用户再按 ctrl d 或者 exit 退出登录时我们会发现并没有退出到登陆界面而是回到了普通用户那么我们也就明白了 su 和 su - 的本质并不是单纯的切换用户而是在外面又套了一层让执行角色发生了改变2.4 sudosudo 可以理解为是对命令进行提权以 root 权限执行。2.4.1 sudo 的白名单机制我们在使用 sudo 的时候往往会出现这样的错误也就是说未写入文件 sudoers 的用户不能对命令进行提权解决办法只能是让超级用户将该用户添加到文件 sudoers 当中2.5 权限的深度认识2.5.1 权限的本质权限就是限制一个用户能做什么不能做什么。2.5.2 对权限的理解权限首先限制的是角色权限要求目标必须具备对应的属性也就是说权限角色目标权限属性。2.5.3 三大角色目标权限属性好理解因为Linux下一切皆文件文件的权限属性大致可以分为读、写、执行。我们先来理解下角色。每个文件 / 目录都有三类 “访问者(角色身份)”对应不同的权限范围这是权限控制的核心uUser所有者文件当前的所有者。例如hello.txt的所有者是whb系统访问该文件时如果当前用户就是文件所有者就使用u对应的权限进行判断。gGroup所属组文件所属的用户组。例如hello.txt属于whb组如果当前用户不是所有者但属于该文件的所属组就使用g对应的权限。oOthers其他用户当前用户既不是文件所有者也不属于该文件的所属组时就按照o对应的权限进行判断。2.5.4 文件的三种权限属性权限对普通文件对目录r读读取文件内容如cat查看目录中的文件名如lsw写修改文件内容如vim、echo 修改目录项例如创建、删除、重命名文件/子目录x执行允许把文件作为程序执行如./a.out允许进入、访问该目录如cd2.4 chmodchmod 是Linux 中用来修改文件或目录权限的命令。常用选项- R递归修改目录文件的权限。2.4.1 chmod命令权限值的格式用户符号u拥有者g拥有者同组用o其它用户a所有用户用户表示符 / - / 权限字符增加指定权限-取消指定权限直接设置为指定权限2.4.2 代码示例这里就只演示u /-/2.4.3 相关小知识2.4.3.1 一次性修改多个角色权限我们也可以一次性修改多个角色的权限代码演示如下2.4.3.2 修改文件权限的限制普通用户只能修改自己的文件权限要么切换为超级用户 root要么使用 sudo.2.4.3.3 用户角色确定的唯一性Linux 在判断普通文件的u/g/o权限时身份匹配是有优先顺序且最终只选一类权限的先判断是不是所有者 ├─ 是 → 只看 u 权限 └─ 否 ↓ 再判断是不是属于所属组 ├─ 是 → 只看 g 权限 └─ 否 ↓ 最后看 o 权限2.4.3.4 root 权限不受控root 用户不受权限的约束2.4.3.4 可执行权限 可执行可执行 可执行权限 本身就是二进制可执行文件2.4.4 数字表示法由于r4、w2、x1可将三类访问者的权限用 “三位八进制数字” 表示所有者 所属组 其他用户格式chmod 数字权限 文件名。2.4.4.1 代码示例2.5 chownchown 是 Linux 中用来修改文件或目录的所有者。常用选项-R递归修改文件或目录的所有者。2.5.1 chown 使用注意事项chown 和 chmod 不同普通用户不能随把目录\文件的所有者变为其他人要么切换为超级用户要么使用 sudochown 也可以用来修改所有者和所属组(所有者变为lzx所属组变为study)代码如下chown lzx:study ./test.txt2.6 chgrpchgrp 是 Linux 中专门用来修改文件或目录所属组的命令常用选项-R递归修改文件或目录的所属组。2.6.1 chgrp 使用注意实现chgrp 和 chown 不同在特定情况下不用切换为 root 或者使用 sudo:这个文件/目录是你自己的并且你想改成的目标组是你自己所属的组之一。2.6.2 代码示例# 1. root将hello.txt的所有者改为zpw普通用户无此权限 [rootbite-alicloud ~]$ chown zpw hello.txt [rootbite-alicloud ~]$ ls -l hello.txt -rw------- 1 zpw whb 29 Oct 22 20:56 hello.txt # 所有者从whb变为zpw # 2. 普通用户whb直接修改无sudo权限不足报错 [whbbite-alicloud ~]$ chown whb hello.txt chown: changing ownership of hello.txt: Operation not permitted # 3. 普通用户whb用sudo修改hello.txt的所有者为litao需输入whb自己的密码且whb已在sudoers配置中 [whbbite-alicloud ~]$ sudo chown litao hello.txt [sudo] password for whb: # 输入whb的密码 [whbbite-alicloud ~]$ ls -l hello.txt -rw------- 1 litao zhangsan 29 Oct 22 20:56 hello.txt # 所有者从zpw变为litao # 4. 修改hello.txt的所属组为zhangsan需root或所有者 [rootbite-alicloud ~]$ chgrp zhangsan hello.txt [rootbite-alicloud ~]$ ls -l hello.txt -rw------- 1 zpw zhangsan 29 Oct 22 20:56 hello.txt # 所属组从whb变为zhangsan # 5. 假设whb是hello.txt的所有者且属于zhangsan组主组或附加组 [whbbite-alicloud ~]$ chgrp zhangsan hello.txt [whbbite-alicloud ~]$ ls -l hello.txt -rw-rw-r-- 1 whb zhangsan 29 Oct 22 20:56 hello.txt # 所属组从原组变为zhangsan # 6. 普通用户whb(此时他不是文件的所有者且目标组不在自身组列表中)用sudo修改hello.txt的所属组为whb组 [whbbite-alicloud ~]$ sudo chgrp whb hello.txt [whbbite-alicloud ~]$ ls -l hello.txt -rw------- 1 litao whb 29 Oct 22 20:56 hello.txt # 所属组从zhangsan变为whb
RELATED

相关推荐

ELK7.17生成部署操作手册

ELK7.17生成部署操作手册

ELK 7.17.9 生产集群部署操作手册(3 主 3 从 命令可直接复制执行版)适用版本:Elasticsearch 7.17.9 Kibana 7.17.9 架构:3 主 3 从,安全认证 节点间 SSL 操作系统:CentOS 7 / 8 配套:《ELK7.…

📅 2026/9/30 17:15:02
Whisper 评估数据集准备指南:复现论文实验的数据获取与预处理全解析

Whisper 评估数据集准备指南:复现论文实验的数据获取与预处理全解析

人工智能语音音频基础模型 【免费下载链接】whisper Robust Speech Recognition via Large-Scale Weak Supervision 项目地址: https://gitcode.com/GitHub_Trending/whisp/whisper 点击查看 免费下载 这篇技术指南以仓库中的 data/README.md 为骨架,系…

📅 2026/9/30 17:15:01
信创落地进行时,EasyCVR的信创适配,从芯片到系统,全面国产化

信创落地进行时,EasyCVR的信创适配,从芯片到系统,全面国产化

导读:“安可替代”“国产化适配”成为越来越多政企项目的硬指标。视频这类关键业务上了国产芯、国产系统,到底能不能跑得稳?功能会不会打折?这篇文章给你答案。信创趋势之下,视频平台的“国产之问”随着信创产业加速推…

📅 2026/9/30 17:15:01
MORE NEWS

更多资讯

📰

Redis缓存穿透与击穿实战:从CacheClient工具类设计到面试应答

做后端项目,尤其是把黑马点评这种完整商城项目放进简历的同学,大概率都在 Redis 缓存上栽过跟头。缓存穿透、缓存击穿这两个词,面试官几乎必问,理论背得再熟,落到代码层面很多人是懵的。真正把这两个问题落地解决的&am…

📰

N.E.K.O.Agent智能体实战:配置Computer Use与Browser Use,让AI猫娘帮你操作电脑和浏览器

N.E.K.O.Agent智能体实战:配置Computer Use与Browser Use,让AI猫娘帮你操作电脑和浏览器 【免费下载链接】N.E.K.O A catgirl who lives with you in real time — reaching out first, sharing your media, and actually getting things done, powered …

📰

Qwen-Image-2.1人像实战:中文提示词、编辑技巧与老照片修复指南

Qwen-Image-2.1这模型一出来,玩人像的朋友圈就热闹了。以前用开源模型写中文提示词,总有种"话说了但没完全说"的憋屈感——中文的人名、发型描述、表情细节,经常一改就翻车。Qwen-Image-2.1对语义的理解和人像细节的刻画&#xff0…

📰

ABAP Unit 测试效率提升:ADT 下的 Quick Actions 与覆盖率工作流

写 ABAP 最容易被低估的一环,从来不是写完业务代码那一刻,而是后面的测试。不少项目里,ABAP Unit 给人的印象是“要写好多样板代码”“跑起来还要在结果列表里翻半天”,结果测试覆盖率上不去,回归问题只能靠人工点功能…

📰

鸿蒙原生应用 ArkUI 实战:活动相册我的页 —— 四列悬浮统计卡与负 margin 上浮手法

鸿蒙原生应用 ArkUI 实战:活动相册我的页 —— 四列悬浮统计卡与负 margin 上浮手法 App 40「校园活动照片」我的页(ProfileTab),主题色 #6C5CE7 紫色(violet),4 个 Tab 分别为首页(…

📰

从零手搓AI工程流水线:数据管道、模型训练与推理服务实战

1. 为什么我要从零手搓一套AI工程流水线第一次听到“ai-engineering-from-scratch”这个说法,是在一个做推荐系统的老哥群里。当时有人甩了个链接,说现在外面讲AI工程化的内容,要么是调包侠式的三行代码跑通一个demo,要么是云厂商…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬