您现在的位置是:首页 >技术杂谈 >Shell原理简介与Linux中的权限问题网站首页技术杂谈

Shell原理简介与Linux中的权限问题

九州~空城 2025-06-14 12:01:02
简介Shell原理简介与Linux中的权限问题

一、Shell命令及运行原理

1.1通常说的计算机体系结构指的是什么

通常意义上的计算机体系结构指的是芯片:

如锐龙amd,英特尔酷睿intel core

他们分为

x86:32位

x86_64:64位

两种

1.2广义上的Linux系统分为哪些部分,shell的简单定义是什么

广义上的Linux系统=Linux内核+Linux外壳

为什么需要Linux外壳呢?

 原因是用户无法直接访问Linux内核,也不擅长访问

因此可以引申出shell的简单定义:命令行解释器

1.3shell的运行原理简介

由1.2中shell简单定义不难看出,shell的正常运行十分关键,它决定了用户能否正常使用操作系统,为了保证外壳的安全性一般运行过程中,外壳程序会创建子进程,让子进程代替其完成命令行的解释

1.3补:当前使用的外壳程序是bash,与shell是什么关系?

当前使用的Linux系统种,外壳程序在/usr/bin/bash下

bash可以说是一种具体的shell

就像教师王老师之间的关系

二、Linux中的权限问题

2.1切换用户指令su

要进行用户切换,指令基本使用规范是:

su+[用户名]

回车

①若初始为普通用户

1>换root:

su -

回车

输密码

2>换别的普通用户

su+[用户名]

回车

输密码

②若初始为root

更换为别的用户:

su+[用户名]

回车

(无需输入密码)

:任何用户切换后,都可以通过热键ctrl+d退回到上一用户

2.2普通用户提权指令sudo

有时会遇到一种情况:仍然使用普通用户的情况下需要利用root专属权限

使用规范:

sudo+[命令]

回车

但要注意:不是任何一个普通用户都可以使用sudo进行提权的,需要在

vim/etc/sudoers

进行配置,而这一目录是属于root的,所以并不会出现未知情况下越权的问题

2.3对于一个文件来说,系统中有三种访问者:

他们分别是:拥有者,所属组,other

如ll展示目录mydir

 观察发现,在这里拥有者与所属组是相同的,其实很多情况下都相同,那么所属组的作用是什么呢?

为了进行更细粒度的权限管理

如两个技术团队使用同一台Linux机器进行编程,而A组成员直接要可以相互查看但不允许B组成员查看,这时所属组就用的上了 

2.3补:3种访问者与普通/root用户都因权限进行划分,它们有什么区别

可以理解为扮演角色与具体扮演的人之间的关系

如:华为员工名为张三,华为员工是身份,对应三种访问者张三是拥有这一身份的人,对用普通/root用户

⭐2.4文件权限属性

2.4.1文件权限的表示方式

红色框中表示的是文件权限,共分9列,每三列为一组,分别表示拥有者,所属组,other三组

r,w,x分别代表读权限,写权限,可执行权限;-代表不具有当前权限

2.4.2更改文件权限属性的方法

①法一:利用访问者种类的代号与rwx代表更改内容

基本规范:

chmod [访问者种类代号]+[增减代号]+[文件名]

回车

访问者种类代号:u代表拥有者(User);g代表所属组(Group);o代表other;a代表

增减代号:+待变新增权限;-代表移除权限

 例如:

chmod u-rwx file    拥有者移除全部权限

chmod g+w,g-rx file    所属组移除读,运行权限,增加写权限

chmod a+rwx file    全部三种访问者增加全部权限

②法二:利用八进制代表设置好的权限情况

基本规范:

chmod+[所需权限对应的八进制数]+[文件名]

回车

依据2.4.1中分析,一共有三种访问者,每种访问者对应的三个权限我们标识为一个三位二进制数

三位二进制取值在0-7,所以我们可以把它化为一个八进制数来表示,例如

希望的权限是:

rw-rw-rw-

对应的三组 三位二进制 是:110 110 110

转换为八进制是:666

此时指令为:

chmod 666 file 

回车

2.4.3权限冲突时的优先级 

假如权限是:

---rw----

拥有者与所属组相同,都是名为normal的普通用户,那么normal下可以进行写入吗?

答案是不可以,因为确定身份的过程只会进行一次,顺序依次为:拥有者,所属组,other

 在使用者为拥有者的情况下,会优先看拥有者的权限

2.4补:是否有可执行权限与文件是否可执行是不等价的

广义上来讲,权限=人+事物的属性在本文环境下,也可以理解为使用的角色+文件权限属性

文件可执行=使用者有可执行权限+文件本身具有可执行的属性

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。