Linux体系架构与权限管理全解析
目录
权限 = 角色 + 属性(Linux下一切皆文件,面对的文件则有读,写,执行的权利)
Linux 体系结构
这是整台 Linux 系统的全套分层结构:
- 用户层(软件、命令、你的程序)
- 系统调用,库(过渡层)
- Linux 内核层(内核态,管控硬件)
- 硬件层(CPU、内存、磁盘,遵循 CPU 架构)
芯片结构、CPU 架构
- 属于硬件体系结构
- 规定:CPU 怎么设计、指令怎么写、寄存器、总线、缓存、流水线
CPU 架构 = 硬件的规矩,芯片长什么样、能听懂什么指令。
内核架构 = 系统最核心软件的内部组织结构。
uname ‒r 指令
功能: uname⽤来获取电脑和操作系统的相关信息。
补充说明:uname可显⽰linux主机所⽤的操作系统的版本、硬件的名称等基本信息。
常⽤选项:
- -a或‒all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理
- 器类型,硬件平台类型,操作系统名称
- lsb_release -a:查看操作系统版本
- uname -r:查看内核版本及对应的体系结构


shudown命令
Linux系统的关机/重启命令
作用于当前运行的Linux操作系统本身 --> 最终让整个服务器关机
执行 shutdown -h now
① 云服务器直接关机停机
- 远程连接直接断开
- 网站 / 项目全部下线
- 不会自己开机
- 必须去阿里云 / 腾讯云 / 华为云控制台,手动点「开机」才能恢复
② 和本地电脑区别
本地电脑关机,按电源键就能开;云服务器关机后,只能在网页后台手动开机。
服务器是运行Linux的载体
执行后,Linux系统停止运行 --> 服务器停止
服务器(硬件/云实例)
比喻:房子
技术本质:提供计算,存储,网络的硬件资源(CPU,内存,硬盘,网卡)
操作系统(Linux/Windows)
比喻:家里的家具(让房子能住人)
技术本质:管理硬件资源,运行应用程序的系统软件
shell命令以及运⾏原理
Linux严格意义上说的是⼀个操作系统,我们称之为“核⼼(kernel)“ ,但我们⼀般⽤⼾,不能直接
使⽤kernel。⽽是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。

外壳程序打印的命令行
命令行的解析器(外壳shell):
- 将使用者的命令翻译给核心处理
- 同时,将核心的处理结果翻译给使用者
为什么要存在外壳程序:
- 方便用户的操作
- 保护内核:外壳程序以进程的形式呈现;新命令到来,就创建新的子进程(子进程异常仅自身终止,不影响父 Shell 外壳,也不损坏操作系统内核)
Linux权限的概念
Linux中的用户:root用户(超级管理员,权限高)or 普通用户(权限低,受管控)
可以把自己写的命令安装(本质就是拷贝)在系统中(如:ls命令本质是一个可执行文件):但系统目录只有root用户才有写入权限
普通 -> 超级用户:su ctrl + d:退出用户
su -:以root身份重新登录,且所处的路径会到root的家目录下;不加‘-’则会在原目录下切换用户
查看任意文件夹的绝对路径:realpath (文件名)
which:在path包含的目录里,找符合名称的可执行文件
创建新用户wx
adduser wx
普通用户用超级用户的身份创建文件
sudo touch root.txt
报错:

原因:用户 wx 还没有被加入管理员(sudo)用户组,没有权限执行 sudo 命令
解决方法:
-
先切回 root 用户:
su - root -
给
wx用户添加 sudo 权限,执行这条命令:usermod -aG sudo wx -
验证一下是否添加成功:
id wx
成功则输出:

输入的密码是普通用户的

sudo
是用来进行指令的暂时提权
如:安装软件,安装到系统中,需要管理员root权限(只安装了一份,允许所以用户同时使用)
权限
本质:能或不能做某些事
作用:
- 控制用户的行为,防止错误的发生
- 理解:权限首先限制的是人(如:学生不能进校长办公室)
权限要求目标必须具备对应的属性
权限 = 角色 + 属性(Linux下一切皆文件,面对的文件则有读,写,执行的权利)
角色:
- 拥有者
- 所属组
- other
如
两个root,第一个root处是拥有者的位置,第二个是所属组的位置
为什么要有所属组?
更精细的权限划分,首先要更精细化的角色
属性:
- r:读
- w:写
- x:可执行
如
![]()
第一位的d表示为目录;后面的三个是所属者拥有的权限读写可执行;接着三个为所属组的权限写可执行;最后三个为其他用户的权限可执行
对权限进行操作:对角色或者目标属性
改权限chmod
如:拥有者和所属组均为root的普通文件
让其他人不能读:u(拥有者);g(所属组);o(其他人)
-(去权限);+(添加权限)
![]()
![]()
su:Switch user
sudo:superuser do
chmod:chang mode
chown:change owner(可改文件、目录的拥有者,所属组)

修改权限,让拥有者不能读写
![]()
![]()
读的时候看不见文件的内容,写入就会报错

但文件的拥有者和所属组均为wx,而作为所属组的wx不是可以读写吗?
原因是确定权限信息时,系统会先确定用户是谁。用户角色确定只会确定一次。如果已经确定用户是拥有者,那么即使他同时也是所属组有拥有者没有的权利,那也是摆设

把拥有者改为root,这样wx用户就被判为所属组,可以读写
用户只能更改自己的文件权限
root用户的权限,不受权限约束
目录的三个权限的作用
进入一个目录,需要x(可执行)权限
没r权限,无法ls查看改目录里的内容
没w权限无法在其目录内部创建文件
(若有rw,但无x权限,也不能进入,查看,创建)
注:若目录仅有w权限,则无实际作用。必须同时具有x才能创建/删除文件
Linux多用户之间是相互“隔离”的
新建用户,本质上是在/home中创建一个文件夹

默认权限
为什么文件/目录新建后是那些默认权限
系统会默认存在一个叫做权限掩码的概念
umask查看掩码

002 ——> 000000010(八进制)
最终权限 = 起始权限:&(~umask) 按位与&,按位取反~
如:对于文件来讲:起始权限为777,默认权限为775

umask目的是什么:
希望凡是umask中出现的权限,都不应该在最终权限中出现
为什么要有umask:
- 默认权限,有os(操作系统operator system)自主决定:新建文件/目录的默认权限,是由操作系统通过umask规则来计算的
- 通过配置umask,可以灵活控制默认权限。(修改:umask 000 ——> 默认所以权限开放。是内存级的,下次打开会恢复为默认)
一个文件是否能被删除,与文件本身无关,与文件所处的目录有关
用户之间是隔离的(用目录权限)
那若两个用户之间要进行文件级别的协作呢
此文件不能放在任何一个私人账号里
如:创建在根目录下(或tmp目录中)。权限为rwxrwxrwx
共享类文件,不想让非文件的拥有者删除对应的文件
——> 需求:任何一个人都能在目录中新建,但又不能让非拥有者删除
权限标志位:t(粘滞位)

![]()
粘滞位t的本质:只能给需要共享的目录添加
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)