Linux权限详解

你好,我是史丰源
欢迎你的来访,希望我的博客能给你带来一些帮助。

我的Gitee:: 代码仓库

Linux权限

Shell外壳程序运行原理

Shell–外壳,相当于一层遮蔽内部的保护壳。

Linux是一个操作系统,请大家思考一个问题:我们(操作系统使用者)是否能够直接操控操作系统呢?

答案是否定的,请从上到下看下面这张图:
在这里插入图片描述

我们平时使用的Windows和Macos 都是使用图形化界面来访问操作系统,而Linux是使用指令来访问操作系统,那么其实图形化界面和指令就是操作系统的Shell外壳程序,大家不妨可以想一下:操作系统底层使用的是大量的0、1序列,如果用户直接去使用操作系统,那么我们需要去记住一串又一串的二进制序列,这对于我们来说是一项成本巨大的工作,并且用户是人,那么不可避免地会出错,这对于操作系统来说是不安全因素。

人不能直接操作操作系统的原因: 1.操作成本高。 2.人会犯错,从而带来不安全因素。

现在我们可以回到底层操控视图,用户操作Shell外壳程序,Shell外壳程序向操作系统传递用户的指令,操作系统再通过硬件驱动操作硬件 从而完成用户所要求的动作。

Shell外壳的意义:

1.是用户和操作系统交互的媒介

2.可以在一定程度上保护操作系统。

小故事:

张三转眼到了结婚的年龄,却没有对象,家里人都很着急,这时他所在的小镇有一个非常有名的媒婆–王婆,那么家里人就请王婆到家里和张三沟通,但张三已经有了一个心仪的对象–隔壁的小花,他请王婆去小花家说媒,那么王婆就来到了小花家,王婆与小花沟通说隔壁的张三你认识吗?小花回答不认识呀,那么王婆一想:这完蛋了,小花不认识隔壁的张三。于是回到张三家告诉张三:小花不认识你呀。

张三—用户

王婆—Shell外壳

小花—操作系统

操作系统如果不认识用户所发出的指令(Shell外壳),那么Shell外壳会返回Command not found.

Linux权限的概念

我们知道:Linux系统下有两种用户类型:

1.Root(最高权限用户),2.普通用户

那么如何识别Root用户和普通用户呢?

Root用户的命令提示符是:#

普通用户的命令提示符是:$

在这里插入图片描述

那么两种用户所拥有的权限也是不一样的。

Root: 可以在Linux下做任何事情,不受限制。

普通用户:在Linux下做有限权限的事情

Linux权限管理

文件访问者的分类
1.文件或文件目录拥有者: u(User)

2.文件或文件目录所属组: g(Group)

3.其他用户: o (Others)

文件类型和访问权限(事物属性与人)

事物属性:即这个事物具备能做什么的性质。(我不能够在薯片上看电影)

人:使用者(Root与普通用户)

对人操作:用户之间切换。

这里我们我们讲讲如何从普通用户切换到 Root用户

su -指令

输完指令后,Shell外壳程序会提示你输入密码(password:)。

如下图所示。

在这里插入图片描述

文件权限:针对人、事物的基本属性决定权限相关的概念。也即一件事是否能被你‘做’

文件不具备的属性我们就不能访问。

文件权限值的表示形式

1.Linux权限:在Linux下能够进行读写执行的权限。

读:r (八进制表示:4)

Read 对文件而言,具有读取文件内容的权限。对目录而言,具有浏览该目录信息的权限。

写:w (八进制表示:2)

Write 对文件而言,具有修改文件内容的权限。对目录而言,具有删除和移动目录内文件的权限。

执行:x (八进制表示:1)

Execute对文件而言,具有执行文件的权限。对目录而言,具有进入目录的权限。

权限符号(读写执行) 八进制 二进制
r 4 100
w 2 010
x 1 001
rw 6 110
rx 5 101
wx 3 011
rwx 7 111
---- 0 000
2.文件的类型:

d:文件夹 (dir) b: 块设备文件 (例如磁盘文件)

-: 普通文件 p: 管道文件

l: 软链接 c: 字符设备文件 (例如屏幕、键盘等设备)

s: 套接口文件 一般我们常用的是:d(文件夹)和-(普通文件)

注意:Linux下,不以文件后缀来区分文件类型, 后缀名只能代表程序的关联,并不能说明文件是可以执行。

但是,并不代表不可以使用,只是在系统层面(底层)没有意义,后缀名只是给自己看的。

证明:
在这里插入图片描述

在这里插入图片描述

我将.out后缀改为了.link 却也能执行出Hello World!

由此可见linux底层不以后缀区分文件,而是将这类文件包含为 普通文件。

文件类型位置

文件类型位置
如上图,文件类型的显示在Linux中显示为最前端的字符。

那么对于三种访问者,Linux又是如何表示他们的权限呢?
请看下图:
在这里插入图片描述
Linux文件权限位置 及 用户与组名称位置
文件访问权限的相关设置方法
1.chmod:

功能:设置文件的访问权限。

具体使用方法:

chmod 用户名称+想要修改的权限 文件名
在这里插入图片描述
chmod使用方法
在这里插入图片描述

同时修改u和g方法

注意: 只有文件拥有者和Root用户才可以修改文件的权限。

我们在介绍文件权限值的表示形式,讲到了rwx的八进制表示方法,那么我们用八进制也可以完成刚才的操作。
在这里插入图片描述
chmod八进制表示图
2.chown:(只能以Root用户身份更改)

功能:修改文件拥有者

具体使用方法:

chown 用户名称(文件最终拥有者) 文件名
在这里插入图片描述

chown使用方法

3.chgrp:(只能以Root用户身份更改)

功能:修改文件或者目录的所属组。

具体使用方法:
在这里插入图片描述

chgrp使用方法
注意:
在这里插入图片描述
u无权和g有权的区别

我作为拥有者没有任何权限操作文件,那么我即使是文件权限所属组成员我也没又权限去操作文件,因为权限只会认证一次

4.umask (user mask):

功能:查看和修改文件掩码。

Linux默认:

一个目录被创建,起始权限是: 777

一个普通文件被创建,起始权限是:666

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。

原因:创建文件或目录的时候还要受到umask的影响。

格式: umask 权限值(八进制)

目录的权限
可执行权限: 如果目录没有可执行权限,则无法cd到目录中。

可读权限: 如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容。

可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值