赞
踩
前言:在之前我们已经对基本的指令进行了深入的学习,接下来我将带领大家学习的是关于权限的相关问题。在之前,我们一直是使用的【root】用户,即为“超级用户”,通过对权限的学习之后,我们就会慢慢的切换到普通用户模式下去进行操作。
本文目录
在正式学习权限之前,我们还是先对它的概念有一定的了解,这样能让我们带着一定的认知去进行接下来的学习。那么什么是权限呢?
接下来,我就带大家一起去探索“权限”的有关知识!!!
因此,基于上述讲到这种情况,在Linux下就衍生出了两种用户——超级用户(root)和 普通用户
既然Linux下提供了两种不同的用户,大家可能就会好奇,这两者之间是否可以互相的切换呢?
接下来第一件事就是大家先创建一个普通用户,如果大家用的还是root用户,从今天开始就可以慢慢的去切换为普通用户了。
以上便是相应的创建的过程。。
在正式的进行操作之前,还要带大家认识一个指令,即---【su】指令。
su 命令的基本格式如下:
# su [选项] 用户名
选项:
接下来,我们正式介绍用户切换的几种模式:
第一种:普通用户—>root
因此,我们可以发现二者之间的区别:
【su】和【su -】的区别
第二种:root—>普通用户
第三种:普通用户—>普通用户
对于普通用户之间的切换,要切换到其他的用户下,就需要知道别人用户的密码,在实际情况下,我们是无法知道,那么是不是就无法切换了呢?
以下就是第二种创建普通用户的方法:
接下来,我要插入一点其他知识,即为——Linux的文件属性,上面我简单提过一点,这里我用代码具体给大家说明。
对于每行第一个为文件类型,那么【linux】下有哪些文件类型呢?具体如下:
接下来我们针对前两个,我通过代码带大家见识见识。
ls -l /dev/vda1
ls -l /dev/tty0 -1
通过以上,未来我们该如何看待这个后缀呢?
说到这里可能还有的小伙伴会有疑问?接下来我们在举个例子来进行形象的说明:
通过上述我们不难发现,无论当我们怎么去改都可以正常的运行成功,这叫什么呢?在这里我们的程序和后缀无关。
到此,大家明白了吗?
对于上述的不管是【root】啊还是普通用户都是具体的用户,接下来我要讲的则是“角色划分”---对于一个被创建出来的文件,创建之后总会去访问它的,不然何必多此一举,此时在【Linux】下访问者分为三类:拥有者、所属组、other
大家可能对文件的拥有者和other这两个概念比较能懂,但是好奇的是为什么还要搞个【所属组】呢?接下来我们解释一下所属组,首先讲解一下用户组的概念。
给一个文件区分所有者、所属组和其他人,就是为了分配权限方便。就像笔者买了一台电脑,那我当然是这台电脑的所有者,可以把我的读者加入一个用户组,其他不认识的路人当然就是其他人了。分配完了用户身份,就可以分配权限了,所有者当然对这台电脑拥有所有的权限,而位于所属组中的这些学生可以借用我的电脑,而其他人则完全不能碰我的电脑。
因此综上所述,在现实中,绝对不是所有的用户都使用 root 身份登录,而要根据不同的工作需要和职位需要,合理分配用户等级和权限等级。
在上述,我们讲到了用户可分为两种:
访问者可分为三种
那么它们之间存在什么关系呢?为什么还要这么分呢?
上述对于文件的类型说明了有哪些,但是对于后面的还没有,接下来我给大家具体的唠唠:
而对于每三位,三个字符的位置的含义时确定的,分别为:
那么对于上图的【myfile。txt】文件的拥有者有哪些权限呢?
那么基本权限有哪些呢?
对于权限的表示方法,我们给出以下两组,大家需要记住。
a)字符表示方法
b)8进制数值表示方法
在正式的操作之前,我们先将一个指令,这个指令就是拿来修改权限的。
a)chmod
常用选项:
接下来我们来讲解如何去设置文件的访问权限,主要是有两种方法:
首先,对于下面的【tmp】文件,我们可以看到它任何的权限都不存在,这时当我们要去对其设置权限时应该怎么做呢?
首先是对于要修改身份的用户符号,也就是我们在上面说到的【拥有者】、【所属组】、【other】
其次对其有哪些设置:
接下来,我们一一列举:
此时会发现一个问题,对于一个什么都没有的文件来说,像我上述这样一个一个的去加是不是不太高效啊,那么有没有一种比较高效点的方法呢?答案肯定是有的,即可以连续设置权限。
首先,我们可以看到【tmp】是什么权限都没有的。
到这里我们还是可以会觉得这样也有点麻烦,我们可以一次性就给它们设置好吗?答案当然也是可以的
上述写法,我们可以写成这样(是不是又可以偷一点懒了)
你上面一个劲的说增加,怎么没有删除呢?有的有的,这就给出删除的方法
除了上述方法之外,我们还有一种方法,那就是依靠8进制来进行表示,具体怎么做呢?我们下面就给出
除了上面这种通过字符来进行设置的方式,还有一种更加简便的形式,那就是使用八进制来进行相应的设置,对于每一组八进制所对应的权限在上面的图片里面,大家如果不记得了可以再去看看
到此,以上就是两种详细的设置权限的方法。二者之间的区别我也给大家讲述了,这里在复述一遍加强大家的记忆:
首先,不知道各位小伙伴知不道知道这个什么意思呢?(对于英语好的同学就没必要看我的翻译了哈)
我们还是结合代码来进行查看,当我们想要给一个没有任何权限的文件进行操作时,会成功吗?:
到此,大家就应该能够明白权限拒绝具体什么意思了吧!到此,又会引申出一个问题,那就是,当我什么都没有时,我们是否可以进行提权操作呢?答案当然是可以,接下来就给大家讲解提权
sudo:是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。
接下来我们进行举例说明。
sudoers
】这个文件中。vim默认进入时命令模式,此时我们要切换【末行模式】,按下【shift +】进入,然后输入相应的【/all】
紧接着输入完后再按下键盘左上角的Esc
键退回【命令模式】
shift +
】:
进入【末行模式】,或者大家按住键盘上的【:】然后输入【wq!
】,因为这个【sudoers】是这写保护文件,不可随意修改以上便是我们具体的操作过程了。
紧接着我们在去验证以下此时加入过后成功了没有!!
不受权限约束后,就可以进行其他操作了。因此综上所述,大家对这个理解了吗?普通用户只需要进行【sudo】就能以【root】用户的身份去执行任何指令。
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
在上述我们已经对设置文件的权限进行了具体的了解,接下来我们需要对文件的访问者这项进行了解,即尝试修改一下这个文件的访问者。
chown
】这个指令,但是这里大家先思考一下,当我们想把这个文件给别人的时候,别人是否允许我们给他呢?我们通过代码进行查看功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
我们还是通过代码来进行直观的了解:
最后,补充一点,对于修改【拥有者】和【所属组】是可以一起进行的,在中间加上冒号:
即可
接下来再给大家补充一个指令,即——file指令。在linux下我们可以通过【ll】或【ls】,甚至于【ls -l】进行查看
功能说明:辨识文件类型。
语法:file [选项] 文件或目录...
常用选项:
通过上文可以知道,我们对文件做识别是通过第一个字母进行查看的,但是有时候对我们来说相对文件做一个更细腻度的文件识别时,此时应该怎么办呢?此时就需要用到【file】指令了。
接下来我就带领大家去具体的认识【linux】下的三个重要权限。分别是:
接下来我们一一进行讲解。
首先,我先抛给大家一个问题?那就是大家认为当我们要进入一个目录时需要具体的什么权限呢?
那么接下来,如果我删除了对这个文件的【r】权限,是否还能像这样呢?
因此,综上所述我们可以得出,对于进入一个目录,【r】权限并不是我们所必须的!!
因此,结合上图,我们能够得出【w】权限也并不是我们进入一个目录所必须的!!
到此,综上所述,如果我们要进入一个目录,必须要有的则是——【x】权限!!!
上述问题我们已经清楚了,那对于目录来说,【r】代表什么意思呢?
因此,通过上述我们不难发现:在没有【r】权限的目录下,我们无法查看当前目录下的文件名和文件属性。
那对于目录来说,【w】代表什么意思呢?
因此,通过上述我们不难发现:在没有【w】权限的目录下,我们无法直接在当面目录下创建新文件。
至于具体的原因,我会在后面给大家讲解。今天暂时讲不了。
接下去我们来说说有关Linux中的默认权限,这部分知识需要大家下点功夫理解起来!!
先给大家看一个事件,让大家先有一个印象:
接下来我给大家讲一讲:
此时大家就可能会好奇,那系统是如何从起始权限变到最终权限的呢?
功能:
格式:
说明:
特别注意:我们这里最开始的0,表示的不是数字中的那个【0】,而是表示的是八进制的意思哟!
我们先给出规则:最终权限 = 起始权限 & (~umask)
如果有疑问的,或许大家就还要去补补运算相关的知识了!!!此时大家应该就清楚为什么最终是那个样子了吧!系统隐士的对其进行了转换。
有了上述的知识,我们就可以对其进行进行修改的操作了。
通过上述的学习,大家是否知道这里是怎么计算出来的吗?不知道没关系,我再给大家演示一次:
到此,关于默认权限的全部知道便到这了,我相信聪明的小伙伴们肯定一看就会的!!!
首先我先给大家介绍一下什么叫做粘滞位。
因此,根据上述这就引出了粘滞位引入的基本背景:
接下来我们便创建一个共享目录给大家见识一下:
接下来我们就需要对其进行提权操作了,经过如下操作时候便是成功的创造出了一个共享目录:
当我们想往其他的文件下写入时。此时是否可行呢(这点我相信大家学到这了应该也知道)?
所以在这样的背景下,为了让大家共享文件,却不让其他的用户能够随意的删除我的文件,此时就引出了粘滞位的。
特别注意: 需要注意的是, 粘滞位权限只能针对⽬录设置,对于⽂件⽆效。
接下来我们便添加粘滞位:
不难看出当我们添加了粘滞位之后,此时就不能在对里面的文件进行删除操作了。
接下来回答几个大家比较关心的问题。
① 为什么不能拦住别人删我的文件呢,是权限存在的Bug吗?
② 为什么只能给共享目录添加粘滞位呢?其他目录的不行吗?
③ 为什么要做的这么麻烦,我们直接把【other】的【w】权限删除掉,这样不就不会发生乱删的情况了吗?
④ 设置了粘滞位后的目录,谁能删除自己的文件呢?
关于权限的总结
以上便是Linux权限的全部问题了,到此本文就结束了,如有疑问大家可以评论区留言哟!!最后如果本文对您有帮助的话,麻烦一键三连哟!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。