Linux权限(上)

目录

shell命令以及运行原理

Linux权限

Linux中的用户类别

文件类型

文件的访问权限 


在讲权限之前,我们得先了解一下命令的执行原理。

shell命令以及运行原理

我们每次在打开Xshell执行相关命令时,通常会看到这样一段代码:

[yjd@hecs-87060 ~]$ 

这段代码是什么呢?,要知道这段代码的含义,我们就得先搞懂Linux的本质。

Linux是一个操作系统,实质上这个操作系统是由操作系统内核(kernel)和外壳程序(shell)组成的,对于一般的用户,是不能直接访问操作系统内核的,我们必须通过外壳程序,即通过shell来实现与操作系统内核进行交流。而shell的具体体现就是命令行解释器,即就是我们上述的那段代码,我们这段代码后写上指令,此时这段代码就可以将命令传给操作系统内核,操作系统内核进一步去解析这些命令,解析完成之后,操作系统内核又把解析的结果传给命令行行解释器,最终命令行解释器把这些结果传给了用户。

综上来看,shell就像是一个中介,方便用户与操作系统内核进行交流。为什么要引入这个中介?其实最主要的原因就是为了保护操作系统内核。

Linux权限

 权限:权限=人+事物的属性

解释:单纯的概念我们可能不太好理解,我们可以想象生活中的这样一个场景,比如桌子上有一部手机,这个手机的属性是可以被使用,但是这个手机要被使用必须有人的参与,人参与之后,这个人就有了这部手机的使用权限。所以权限一定是人和事物的属性的总和。简单来说:权限就是一件事情是否允许被特定的人做

 在Linux中有两类用户:

1.root用户:具有非常高的权限。

2.root用户所创建的普通用户:受权限的闲置,只具有一般的权限。

在Xshell中普通用户如何切换至root用户呢?

su -:从普通用户切换至root用户。

exit/su - 用户名:从root用户直接切换到普通用户。

Linux权限(上)_第1张图片

Linux权限(上)_第2张图片

Linux中的用户类别

在Linux中总共有三种用户类别:

1.拥有者 2.所属组 3.其他人

举一个简单的例子:

     老师在教师给学生上课,提出了一个很难的问题,让全班分小组讨论,根据解决问题的时间和方法最终决定获胜的小组并给予现金奖励。那么此时每个小组之间就是很明显的竞争关系了。假如说分成了A和B两个小组,A组中的小名提出了一个很好的思路,那么此时他的这个思路,就只允许A小组内的所有成员去进行访问,不允许B小组的人员进行访问。此时小明就是提出的想法的拥有者,A就是想法的所属组,具有了想法的访问权限。而B组就是其他,对想法没有访问权限。

      在Linux中,我们未来可能也会多组进行代码的开发,也会遇到上述类似的场景,所以,在Linux中存在这三种用户类别,是很有必要的。 

我们可以通过ll指令查看文件的拥有者和所属组: 

f6e5fbcc4b414b13aac1ee425c170844.png

绿色框标注的第一列为当前文件的拥有者,第二列为当前文件的所属组,其他则没有显示,因为除过所属组都是其他。

文件类型

在linux中,有7种文件类型:

d:文件夹

-:普通文件(文本文件,各种静态库,可执行程序等等)

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件(用于通讯)

c:字符设备文件(例如屏幕等串口设备)

Linux权限(上)_第3张图片

 如图:文件属性的第一列字母就代表了文件的类型,Linux和windows不一样,windows中我们经常以后缀名区分文件类型,但是在Linux中我们是以文件属性开头的字母辨别文件的属性。

文件的访问权限 

在Linux中,文件也是具有相关的访问权限的。

r:读权限,对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

w:写权限,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

x:执行权限。

-:表示没有相关的权限,对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

Linux权限(上)_第4张图片

 在所有属性中,第一大列除了第一列的文件的类型之外,还有九个字符,这9个字符分为了三组,分别代表了拥有者,所属组,其他人这三个用户类别对文件的访问权限,我们就拿p2这个目录举例:

03d2abdd483247729f625c804b012407.png

拥有者的权限为rwx:拥有者对该目录可读可写可执行

所属组的权限为rwx:所属组对该目录可读可写可执行

其他人的权限为r-x:其他人对该目录可读不可写可执行

以上便是权限相关的一些基本内容,至于如何修改访问者的权限,以及相关权限更改的操作我们在权限下期会为大家讲解。

本期内容到此结束^_^

 

 

你可能感兴趣的:(Linux系统编程,知识总结,linux)