00:00
好,我们现在已经了解了文件的属性和权限代表的是什么含义,那我们自然就想到了,假如说我们现在,诶,我当前想要去访问一个文件,或者说想要去修改一个文件里边的内容,但是呢,我又没有权限,这个时候怎么办呢?最简单的想法当然就是,哎,我先切成root用户。或者说诶,我们让入的用户把我加入到这个速度二里边,拥有执行所有命令,执行速度命令的权限,但是这个权限显然是非常大的啊,那一般情况我只想访问某一个文件的时候,比如说。之前我们在艾特硅谷目录下边。复制过来的这两个文件,我现在如果想要访问他,想要去对他进行修改的话,那其实也未必非得引入的身份,或者说用速度的方式去进行文件的读取和写入,我只要把对应的这个文件它的权限。进行一个更改,让艾特硅谷有对应的权限操作权限不就可以了吗?诶,所以这就相当于给我们提供了更加丰富,更加细力度的,更加精细的对于权限的管理。好,那接下来我们就看一看到底应该怎么样去更改一个文件的权限。
01:14
这里的基本语法呢,就是ch mod,那就是change mode啊,相当于就是要改变我们当前的文件的一些属性,我们可以看到它的这个改变方式呢,那就要划分了,我们这里边有UGO3组权限,每一组权限里边呢,由三位字符来对应,那分别就是RWX,表示的是读写执行权限。那我们现在应该怎么样去做操作呢?啊,其实非常简单啊,就是这里边首先是ch mod啊,就change mode,然后接下来加一个UGOA里边的某一个字符。那我们就知道了,U表示的就是当前要改的数组权限一到三位,那如果是G的话,表示的就是数组权限四到六位,Group,那如果是O的话,那就是other权限,其他用户的权限七到九位。
02:13
然后如果要是A的A,那就是所有啊,所有权限都要改后面,然后接下来加上一个。加号或者减号或者等号,然后后边跟上一个RWX,哎,这是什么意思呢?后面这个比较好理解,就是RWX指的就是对应的权限嘛,那这里边如果要是等号的话。表示的就是比方说我这里直接写一个U等于RW。那指的就是我对于属主权限。这三位给他负的是RW,后面X没有,哎,那相当于我们这里边列出来就是RW杠这样的一个权限。那如果说,哎,这里我给的是。G。
03:00
加上R的话,如果这中间给的是一个加号的话,那就表示的是这之前可能没有当前的读取权限,那就我们的这个数组啊,比方说之前都是杠杠杠三个权限都没有,那现在如果是G加R的话,就表示。变成R杠杠增加了一个读取的权限,诶,那所以加表示增加权限,那减当然表示就是删除权限了,撤回撤销权限啊,那比方说other o。我们可以直接减R,比方说之前O这个数组里边啊,其他用户的权限是R-X的话,那现在直接减掉它的读权限之后,就变成了杠杠X。就相当于单独的做了一个减少啊,所以其实简单来讲就是前面指定你到底要改哪一个ugo里边的哪一个权限,然后后边呢,等号就是直接给这个权限赋值。
04:03
加和减,那就表示要增加要减少哪个权限,然后后边指的就是到底哪个权限要进行操作啊,那RWX可以给一个,也可以给多个。啊,后面当然对应的就是文件或者目录的名称了,这种方式其实还是非常常见的啊,我们可以直接在这里来做一个尝试,那比方说现在我是root用户,当然。因为如果想要改变当前文件的属性的话,这个涉及到了啊,对于当前目录里边文件进行更改的操作,那当然是需要有对应权限,Root用户是有这个权限的,我们可以直接来做一个更改。Ch mod。那比方说我们首先先确认一下啊,当前这两个文件,他们的这个权限到底是什么样的,首先我们看到initial setup PS这个文件,当前即使是root用户它也是没有。执行可执行权限的,那假如说我想把这个加上怎么办呢?其实非常简单,Ch mod,那就是U,然后加上当前的X可执行权限,然后后面跟上对应的文件名称,接下来再看它的权限,就多了一个X。
05:16
哎,那当然了,如果说我们想给root组里边的用户想做一个对应的提升权限的话,比方说他不光可以读,还可以写的话,那就可以再给G对应的group数组里边加上一个写权限,那就是加上一个W了,那后边我们可以同样把对应的这个写出来,那接下来我们再来LL看一下的话,对应的数组里边的W权限也就添加进来了,所以这个其实还是非常简单的。啊,我们可以看到添加了可执行权限之后,当前这个文件的颜色变成了绿色,这其实如果我们仔细去观察并目录下边所有的脚本的话,就会发现啊,只要是可执行的文件,它其实都是用绿色来表示啊,这个是在但里边啊,给我们做的一个优化的显示。
06:06
那这里接下来我们还可以尝试一下A。就是如果是A直接我们指定一个RW的话,这相当于是指定了所有的属主权限,属组权限以及其他用户的权限,全部都是可读可写啊,那等号就表示。不做添加和减少,直接指定就是这样的权限。接下来我们可以看一下啊,那就所有的权限都变成了RW。啊,这是第一种修改文件权限的方式啊,当然它也比较简单啊,比较容易理解,相当于这个可读性还是比较强的,但是呢,有时候可能会稍微看起来有点复杂啊,就是首先是UGOOA,然后呢,呃,加减等号,后边还有RWX3种不同的权限,可能这种组合的方式太多了,那另外还有一种非常强大的方式,或者说非常简单粗暴的方式去更改文件或者目录的权限,那就是直接使用一个数字。
07:10
哎,这个数字就比较有趣了,它指的是什么意思呢?我们可以直接给一个。四表示当前的独权限。二表示当前的写权限W权限,那一表示当前的X,也就是可执行权限。哎,那我们就想到了,那假如说我这里边,呃,给某一个权限啊,直接如果指定这个一个U,如果指定它的这个权限是四的话,那这个很好理解,这是只能读嘛,那假如说我要给他既是既有读又有写的权限呢,读写权限怎么怎么办呢?哎,那就四加二,直接让它等于六就可以了。啊,那那另外还有就是,那如果说我要是读写可执行全有这个权限怎么办呢?RWX怎么表示呢?那就四加二加一给一个七,就表示所有的权限都有。
08:04
所以这样的话,我们就可以划分出来啊,每一个啊,UGO都可以给一个一到七的数去表示当前它的权限,那如果是一的话,就表示当前只有。X可执行的权限啊,这里面我们对应的嘛,这个是X权限,如果只是二的话。那表示的就是。W权限如果是三呢?哎,注意如果是三的话,表示的就是二加一,那就是写入和可执行的权限WX权限,那如果是四的话。这个当然就没有三加一的这种情况了啊,因为三本来就是一个复合起来的情况,四是单独的读权限R,权限read,那如果是五的话。五很明显不能是二加三三本来就是已经是一个复合权限了嘛,所以只能是四加一是RX权限啊,那中间我们可以加一个杠啊,前面这个可以加一个杠。
09:04
然后如果是六的话,那同样对应就是四加二,那就是RW杠权限,那如果是七的话,当然就RWX3种权限都有。啊,其实大家仔细去观察,或者说对于计算机底层的这个二进制编码有所了解的话,我们就会发现这个其实很简单啊,它这个表示的是什么含义呢?这就是对于我们这三位做了一个二进制编码而已。啊,也就是说当前啊,如果说我们认为这三位都用一个二进制数来表示当前到底有没有这个权限的话。什么叫二进制数,那就是零和一两位嘛,我当前那就是如果这一位是零表示没有读权限,这一位是零表示没有写权限啊,最后一位是零表示没有执行权限,那如果是一的话。就表示有对应的权限,所以我们就发现了,那你假如说是000的话,那不就相当于什么权限都没有吗?啊,那如果要是111的话,就表示什么权限都有,那这111。
10:09
其实不就是二进制表示出来的七吗?翻译成十进制,这不就是七吗?啊,所以大家可能知道就是所谓的这个8421码啊,啊,其实就是用的这种方式,相当于就是一个二进制的表达,跟十进制之间的一个转换,诶那所以我们对应的这个U这一位,如果给个七的话,其实表示的就是111表示这三位都给一,都有对应的权限。那同样,你如果只有前两位,那不就是110吗?110那就是六了。哎,所以如果只有第一位读和最后一位的直行和直行,那这不就是五吗?101就是五,哎,所以我们直接给一个五就可以了啊啊,所以呃,有了这样一个理解的话,接下来我们执行就会非常的简单,因为那就相当于我可以不用单独的去指定U是什么,这是什么,O是什么了,我直接指定一个,比方说可能很多同学都见过啊,直接ch mod。
11:10
后边777。这是什么意思呢?那就是直接把当然后面要跟上那个对应的文件名称啊,直接把这个文件它的属性修改成777,那也就是全部都是一。也就是给定最大的权限,所有用户所有人来了之后,都可以读,都可以写,都可以执行好啊这这这就是假如一个文件,我们发现它这个不好用啊,呃,没有办法读写没有权限啊,那直接开放最大权限,就直接把它改成777就完了。啊,所以接下来我们可以直接在这里边也做一个测试啊,首先我们看到诶当前的这个initial setup ks啊我我把它如果做一个对应的设置的话,哎,那直接可以ch mode,然后接下来直接777,然后移你手。
12:01
接下来我们一看,直接所有的权限全部开放啊,那当然了,这种权限可能还是比较少的啊,因为我们知道其他用户一般是不给对应权限的啊啊,那当然如果要给的话,可能最多也就给一个可读权限就可以了,R权限啊,那往往我们就是当前的属主给一个。七的权限或者是六的权限,没有可执行权限,哎,那就是110嘛,给一个六,那后面呢,呃,数组和其他用户都只给一个可读权限,那我们会发现这个如果要完整的写出来的话,应该是前面可读写。然后后边都只是可读。所以这不就是110,然后100。100。哎,那这个怎么表示呢。三位一个数,翻译成十进制,这不就是644吗?啊,所以呃,在实际应用的过程当中啊,也经常会出现这样的一个数字,那这下我们就知道是什么意思了。
13:04
Ch mode,然后644当前的这个文件配置文件,那接下来我们看到它的读写权限就变成了RW杠,R杠杠,R杠杠,别的用户只有读的权限。修改之后,我们再来看一下。切换到艾特硅谷用户,然后接下来呢,诶,我们之前是不能去读它的内容的,现在我们看一下,诶现在就可以读了,诶所以只要开放对应的权权限,接下来我们可以做的操作就可以啊,想做什么就做什么。这就是文件权限的更改。当然了,这是基本的用法,就是使用两种方式,一种是直接指定ugoa,然后去设置或者说增加减少相关的权限,那另外还有一种方法呢,就是直接使用数字,数字的这种方式就会更加的强大啊,那如果我们熟悉的话,可能数字这种方式是更加直接,更加简单的。
14:00
这里还需要注意的是,假如说我们修改权限的不是文件,而是一个目录的话,那就涉及到另外一个问题,我们对于目录进行操作,当前这个目录,比方说它拥有可读可写可执行权限了,那假如说它下面还有其他的子目录和子文件的话,那里边还是不可读不可写,那怎么办呢?哎,所以如果说我们希望。就是嵌套的递归的啊,让它内部的所有子文件,子文件夹都有拥有相关的权限的话,可以加一个杠大RR参数加一个这个选项,比方说我们直接ch mode,然后杠大R777指定一个目录,那就相当于把这个目录下边的所有文件和目录对应的权限都指定成了777啊,这个是比较强大的一个一招啊,那接下来这个目录就相当于谁都可以用,但是也要小心啊,这个相当于开放了完整的权限,谁都可以去改,谁都可以去删。
15:02
啊,这是关于文件和目录属性的改变,那后面呢,还有两个内容,那就是对于文件而言,它不光可以改变这个属性,因为我们知道当前的这个属性主要就是ugo嘛,啊当前就是属主是谁,他的权限是什么样的,它属于的用户组是什么?诶这个权限是什么可以去更改,另外还有其他用户,那是不是他的这个属于谁和他属于的组就一定不能改了呢?就只有创建者才是他的属主,然后创建者所属的用户组才是他的属组呢?啊,默认情况下当然是这样,但是我们知道啊,就连这个创建者他都有可能啊,有可能比方说啊,这个这个文件创建者有可能被我删了,当前不再拥有对应的这个用户了,那难道说。对应的这一个文件就没有人能够有权限去读写执行了吗?当然不是,所以我们同样超级管理员还可以去更改一个文件的所有者,以及更改一个文件的所属组啊,对应的命令的话就是一个是O。
16:11
N,也就是change owner,另外一个是CHGRP,也就是change group啊,所以这个整体来讲还是也是比较简单的啊,我们可以直接来尝试一下。呃,那在这里我们可以还是先退回到root用户。首先看一下这两个,这两个配置文件,他们的所属用户,所属主都是root,然后他们的所属的用户组呢,也都是root,那现在我们就可以做一个小小的更改,比如说我可以直接修改这个属主的话,那就是change owner,接下来艾达就是要更改成到底它的属主是谁,我就改成谁,比方说它的属主变成了艾特硅谷,好,然后接下来对应的这个文件引你手,我们把它做一个更改,现在再看我们看。
17:02
它的属主就已经变成艾特硅谷了啊,那所以假如说啊,呃,我们现在首先艾特硅谷对它是有所有的权限的,所以接下来呢,我们可以直接去做一个更改,比方说我把当前这个文件的属性权限改成。只有当前的属主拥有所有的权限啊,就改成这个700。我们接下来再来看一下,哎,那后边其他的用户就没有对应的权限了,如果现在我们想要去cat。这个的话,Root用户当然是有对应的权限,那如果说我们直接溯到艾特硅谷用户的话,他可以去访问吗?哎,当然是没有问题的,因为当前这个文件它的属主已经变成了艾特硅谷。就属于他。当然他可以直接去访问。这是关于我们直接更改它的属主的操作,当然了,如果要是一个目录的话,你想要递归的去更改它的属主啊,那我们这里可以加上一个对应的杠大R这样一个操作,递归的把下边的所有的文件和子目录都改成当前的某一个用户。
18:12
呃,那除了这个之外呢,我们还可以去更改所属组,哎,那这里面我们可以同样的啊,在这里去做一个。GP。Group去做一个更改,比方说哎,我们更改一下当前这个initial setup ks。CFG这个配置文件的所属组,我们把它改成之前我们不是有一个haircut吗?直接把它改成这个组里边的文件。我们可以看一下,现在我们会发现它这是一个不允许的操作,哎,为什么呢?因为我们现在要修改对应文件的所属组这样的一个特征,这其实使用到了超级管理员的权限啊,那这个时候呢,我们还是要切换回。Root用户,然后接下来再来执行这个命令。
19:02
我们看现在就更改完了。啊,那现在它的所属组就变成了haircut。所以我们发现啊,当前一个文件它属于哪个用户,这个是可以改的,另外呢,也不一定它属于哪个用户,然后它的所属组就一定是这个用户所对应的组。它可以改成一个另外完全不同的组,诶,所以这都是可以去进行调整,去进行自定义的Linux里边的用户和文件权限的管理,可以说是非常的方便,非常的灵活啊,这就是关于这部分的内容。
我来说两句