00:00
大家好,欢迎大家继续收看上硅谷的云计算课程,我是沈超老师。这节课呢,我们继续来学习权限。那前面我们一直在说权限,也就是我们现在学的这个基本权限,Linux不止这一个权限,还有其他的,那么我们一直在说基本权限可能是我们这个章节的重点,也是难点。这东西并不好理解,但是我们前面学的时候发现好像也还行啊,这个怎么改权限对吧,这个权限到底是什么作用,这是不是都还行来,但是由于啊。可能难点还没开始,难点在这儿。权限的基本作用,换句话说就是读写执行到底是干什么的?有学员说,老师啊,你太看不起我们了,我们连读写执行都看不懂啊,各位他和我们正常说的这个就是语言表达中的这个读线执行可能还是有一些区别的,所以啊,这个东西是要讲一下的,而且这个东西还不是太好理解啊,有一些小问题在。
01:08
那我们来看看这个权限的作用。各位。虽然Linux当中只有就是基本权限,只有读、写、执行这三个权限,但是它对文件和目录作用是不一样的。吧,那我们就需要分开来讲,看看这权限的作用是什么,那我们先来看看权限对文件的作用是什么。那如果对文件有毒,那么代表可以读取这个文件里的数据,那我这里写了代表这些命令可以用来我们前面讲了查看这个,呃,查看这个文件的数据的这些命令,Cat more less t都可以。那这就是独权限。那如果我对文件有写了,代表我可以修改里面的数据,那也就是说我可以VI或者IO能修改VI啊编辑器嘛,是不是就能修改里面的数据,A口往里追加,就用这个双大于号是往里写,是不是就可以写进去对吧。
02:07
战士。这里你们可能有一些地方,可能理解的不太对的地方在于我想。如果对文件有写权限,是不能删除文件本身的。你对文件有写是不能删文件的。哇塞,我们学员可能有时候就有点懵逼了,那我需要对什么权限,有什么权限我才能删文件?我们很多同学想都不想就告诉我,我要对文件有执行才能删,不对。这事儿不对。那是什么?我说如果要想删除文件,需要对文件的上级目录拥有写权限才能删文件。为什么?为什么?那我们又要回到这个示意图了。分区的这个是一组。
03:02
各位。我在root下有一个ABC文件对吧,那我们说。那我们说。ABC文件是不是会有自己的?哎,爱写点对吧,但是我说过,我说这个爱写点里面放的是什么,我一直在讲,反复在说我说啥。爱写点号是吧,时间对吧,访问时间数据修改时间,状态修改时间对吧,然后权限。对吧,然后就是位置。对吧。对吧,然后这里数据块里放的是不是它里边写的内容1234对吧,那我有说过文件名吗?这事我强调过了,文件名是不是并没有放在这个文件的,爱写点信息里放在哪了。对了,放在目它的上级所在目录root目录下的block。在root目录的block里。里面写的是文件名。和它对应的件单号这个事是说过对吧,那好,那我们可以看到一件事啥事。
04:05
我对文件有权限,我对这个文件有写。那这个权限控制的是谁?是不是控制的是它所在的这个block?那我对这个文件有权限,那是不是代表的是我只对这个block有权限?那这个block里面放的是不是就是文件里的数据啊,所以我说我对文件有写,我是能够修改这个文件的数据,我是能够通过VI或者I能改里面的内容的。但是为什么不能删文件本身呢?原因我说了,你看。文件名是并没有放在自身的block,也没放在自己的爱这个里面,而放在哪了?放在了什么上行目录的block里?而上机目录是不是也会有自己的权限?那也就是说上级目录的写权限是不是控制的是他自己block里边的信息,而目录的block里放的是什么?是他的子文件的文件,或者子目录的文件名和他的按键账号对不对?换句话说,我只有对上级目录有写,我是不是才能在这个block框里把这个文件的信息给删掉?
05:12
没错吧,所以啊各位这个事是能理解吧,也就是说啊,我对文件有写,我能修改的仅仅是里面的数据,1234能写。而我必须要对目录有写,我才能删这个文件本身,因为文件名是目录的数据,因为文件是目录的数据。哎,就是这个原因啊,所以啊,这个可能跟我们一开始理解的东西并不太一样。各位请你小心,我必须对上级目录有写,才能删这个文件本身,OK。OK,其次。执行。各位,如果我对文件有执行权限,代表这是一个执行文限,就可以执行了。当然各位到底能不能正确的执行啊,在Linux下只要文件有执行权限,这个文件就是执行文件,但是到底它能不能正确的执行,是要看你们你这个文件里的代码是不是写的是正确的。
06:16
如果写的是正确的,他就能执行,但是啊,就算你写的不是正确,比如说是个空的键。你只要付了执行权限,它依然是执行文件。依然是,只是什么,只是什么?它是一个错的执行文件而已,那错的执行文件就不是执行文件了吗?谁说的也是,OK,听明白了,所以啊,这是直行。好,这是对文件的作用。那各位。那你觉得这文件的这个权限当中,最大权限是谁?谁?执行权限各位,对文件来讲,执行权限最佳威胁,所以你们赋予的时候需要小心,对执行权限赋予OK,知道了权限对文件的作用,那我们来看看权限对目录的作用。
07:08
好吧。那如果我对目录有毒。代表我可以查看目录下的内容,那也就是说代表我们执行LS内容,各位。查看文件的命令是cat more less,那查看目录的命令是不是就是MS对吧?那代表我对它。有毒啊,我能查看里面是什么。那如果我对目录有写呢,代表我可以修改目录里的数据,那么各位我刚刚说了,文件的数据是里面写的内容1234,那目录的数据呢?目录的数据里面放的是什么?是这个目录下的子文件和子这个子目录对不对,所以能执行的命令是这样的命令,新建文件,删除、复制、剪切这样的命令。啊,其次呢,各位前面说文件能执行,那目录能执行吗?哎,你什么时候听说过吧,一个目录双击执行一下,双击目录是不是只能打开呢,对吧,所以。
08:09
对执行权限对于目录来讲,仅仅只是代表可以进入目录。也就是说,可以执行CD0。啊,也就是说可以执行CD。那街小巷啊,只有文件能执行,所以对于目录来讲,执行权限没有什么威胁。我说对于文件来讲,执行权限是最大权限,要小型赋予啊,对文件来说,执行权限是最高权限,小型赋予,而目录呢?目录的最高权限市场,那我说了执行是不是仅仅只是代表可以进入啊,那这个是没有危险的,那最大权限对于目录来讲,反而是写权限是最高。现权限是最高,大家注意。然后。我提醒你们几个事儿,什么?我说目录的可用权限只有这三个。0570代表没权限,谁也别干,什么都别干。五代表基本权限,可以浏览,可以进入,七代表最高权限。
09:08
什么意思?你给目录附只读是没有意义,只给目录附四是没有的,为啥?举个例子。你想偷看一下这个女澡堂里有什么东西?你站在澡堂外面,你看得见吗?你的前提是不是得先进去,你是不是才能看得见。对不对?那同样的道理,你想读取或者查看一下目录下有什么,你对目录都没有执行权限,你能看得着?这是不合理的,所以对于目录来讲,只负四是没有意义的,没法正确执行,那连带的只负六、只负二也都不行。那换句话说,你要是不付,要不然你就干脆别付,什么权限就别给,要给你最少就是四加一。要有毒,要有执行。
10:00
因为最少要是四加一。这样他才能进入,才能干嘛,才能查看。那。实在最大权限呢,那就是四加二加一权限都有,所以小先啊,我这里强调,我说目录只有这三个权限可用。哎,各位这个事儿你千万不要那个啥方二啊,就是如果我们是这个这个线下上课,像这样的东西,我们后面做实验的时候,我只要讲到我碰到了,我都会问你,你记得啊,你千万不要张嘴就告诉我负四,我说了目录四是不能用的,只能负057。当然啊,这个东西我待会儿都会做实验,我们可以试试,不是说空口无凭,就这么说了,OK,所以这里请大家注意这个事,好了,那讲了这么多,我们再试试。这个事儿我再说,那我们要做一下实验,那我现在首先做实验的前提第一件事啊,我不能拿root来做实验。
11:00
各位,原因?Root是超级用户,而这些普通权限对root来讲是不起作用。也就是说,如果是root用户,这个文件上面我没有任何权限,我是000,我该读读,该写写,该删删,我想干嘛就写。所以我们说。Root是superman。那我只能拿。UC用户来做实验啊,那我现在只能拿UC用户做实验,那我我现在这个实验原理是这样的,看着我创建一个测试目录。不要我创建一个,呃123目录。然后在123目录下touch一个ABC文件,你看清楚啊,两个命令啊,一个命令是MKDR,一个命令是TOUCH123式目录,这个ABC是这个文件,那我现在的实验思路是这样的。
12:00
我的实验思路是这样的。各位,我现在要做的实验是这样的,我。创建了一个123目录。在123目录下放了ABC文件这样一个事儿,然后呢,我现在要做的事情是。把我的权限改成最小,比如说目录权限和文件权限都改成零,零是不是就代表没有任何权限?然后呢,我逐步放大,我给目录给个四,我看看我能干嘛,是不是对目录来讲,四是不能用了,再给个五,看看我是不是就能正常使用了,然后呢,但是我是不是不能删里边的子文件。如果是要删,我是不是就要给七是不是才能删,这是目录,那文件也是啊,先给个四是不是看看是不是就能读了,然后再给个六看看是不是就能就能写了,当然对文件来讲,执行我们今天演示不了,为啥我们暂时还不会写代码,我们后面会教你写上置代码,然后告诉你复制执行什么样,那这就是我的思路,看到了吗?
13:05
建个测试目录,再建个测试文件,然后把它的权限都改成零,然后逐步放大,然后验证是不是有这个读我就能干什么,这些面令是不是就能干,从而验证我的这个。这个东西是对的,OK,好了,这就是整个实验的思路啊,行,那现在。现在我们来做这个实验。那首先。第一件事儿我们说了啊,第一件事儿我们刚刚强调了什么。是不能拿root来做实验。这个目这个实验的第一个要求,因为root是什么,超级用户这个权限它是不受限制的,只能拿普通用户来做实验,第二件事,普通用户能不能改自己文件的权限呢?能不能改这个所有者是自己文件的权限呢?这个我们上节课专门强调了,就是为了,其实强调这个就是为了给我们这节课做实验来干嘛,做基础的。
14:02
答案,能普通用户是可以改自己权限的,所以没有必要再切换成超级用户来改,然后呢?这是第二件事儿,普通用户能够直接改权限,这三件事儿也是很重要或者最重要的一件事。我有色用户。现在匹配这个文件和这个目录到底是。到底是哪一个权限?我们查看一下啊。刚刚查了两个都是ABC啊。好,那我现在问你啊,针对这个目录和这个文件,我UC用户到底匹配的是这三个权限的哪一个是所有者?还是所属组还是其他人,我匹配哪一个选项?各位,这事我们强调前面就强调过了什么,如果这个文件是所有者,那么它匹配的是所有者权限。匹配的是所有者权限,而就算用户在这个组里,他也不会匹配所属组所有者权限优先级更高,所以啊。
15:08
第三件事,我们说啊,UC匹配的是所有者权限。那我在这里做实验的时候,我为了告诉你,其实U色一是匹配的所有者,所以我待会只会把所有者的权限改成零。后面的权限该是原先是什么就是什么,我不动,比如说目录原先是七和五,我是不是就是文件,目录是075,文件呢是064,哎,这个是六对吧,这是四对吧。没错吧,所以啊,这就是我说了,做实验的时候会出现这样一个比较别扭的权限,按理说应该所有者的权限大于等于所属组大于等于其他人,对吧?那我们这是为了做实验,想告诉你这个事儿,所以啊,请大家注意好。我强调了三个事儿啊,做这个实验,第1ROOT用户不能做这个实验,要拿普通用户,第二呢,所有者能改权限,不需要再切换成root,第三个呢,就是我右侧一匹配的是所有者权限在这里啊,我只要改所有者就行了,好,那现在。
16:09
我先把文件的权限改成零。改成零,只改所有者,再把目录的权限改成零,你小心不能反过来。你不能说先把目录的权限改成零,为啥原因目录改成零,你这个目录是不是就进不去了,你里边的文件怎么改?哎,你出门锁门,你是不是要把钥匙先带出来,但到门外边再锁门,而不能说你把钥匙放里边,你把门锁了,这是不是就完蛋了?对吧,好,那试试啊,我先干嘛?看着陈之MODE064123下的ABC,首先我再说这个权限,目的是为了告诉你UC只匹配这个零所有者权限,现在查一下。改了啊零了对吧,然后再开始075,然后123目录啊,再再找这个目录的权限075。
17:01
那那也就是说我们回车。哎,这个时候可以看到,好了,这个权限就已经开始改了,好了,我现在实验准备好了,我现在是不是把所有者已经文件和目录所有者都改成了零。那我现在首先我们来看看目录权限,首先我们说这个目录。如果没有任何权限,你这个权什么事都干不了,那我们试试看,我们先看我对目录现在为权限,所以我想看看目录下有什么不行,我想进入目录肯定也不行。看到了,那现在我说我给他放大权限看着啊,我放475。123部。各位,我前面反复再说,对目录来讲,复只读是没有意义的,只付个四是根本用不了的,为什么?你看一下475付完来。看,有毒了。
18:01
对吧,那我们查一下里边有什么看灯。报错了。但是我看到里面有什么了,有ABC,但是有报错,那我用LS-L这个就更加,这个明显看报错了。能看到文件名,但是剩余的所有信息都是问号,啥都看不见。啥意思?你要偷看女澡堂,你站在女澡堂外面看,你能看见里面汪汪汪全是人,但是啥都看不清,就这意思。所以啊,这个东西是根本就不行了,当然我也不能进去,因为进入权限是这个一,也就是执行,所以我说各位看清了吗。对目录来讲,复只读甚至负六负二都是不能用的。目录能用的权限只有这三个057,小心啊,文件没这个限制,文件你想付四就是四方想付,想付六付六,想付五付,随便你。但是目录只能复制仨权钱,看见了看见了,所以。
19:05
目录复制多是不起任何作用的,那我要正要想正常使用目录,我怎么办?我要称之目的575。123步。好了。这个。权限,现在我正常是不是拥有了五权限,这个时候看啊斯看来了,我想看看里面有什么,哎,你都已经进去了,是不是就看得见了,对吧,包括想CD进去。LS查是不是就可以正常了,CD进去看有没有报错,OK。小心啊,我这里只给目录附了七五权限,没有给七啊,你记得这个事儿好,那现在目录就先到这儿,回来我们测试一下文件权限看。我是不是就测试我对文件有毒,我能干什么,对不对,那我现在对文件。我对文件现在没有任何权限,是零。
20:00
对吧,那我就是既不能读。也不能往里写。对吧,也不能啥啥都干不了。对不对,那现在我想要正常用怎么办?我先付个四给NBCABC文件附一个指读。好,我再说后面这两个就是权限,我它原先是什么就是什么,我没动啊ABC这个时候看啊,我们亲一下,平行查一下。哎,有四个是吧,有毒了,那我们看啊cat读一下里面内容看。不报错了吧,刚刚你看刚刚是报错了。刚刚是。这里现在是不是不报错了,对吧,因为虽然里面是空的,但是我已经能读内容了,对不对,所以我说。对,文件有毒代表我能读取这些内容。那我能往里写吗?没有写权限肯定写不进去啊,那我们试试艾。来写不进去对吧,那要想写怎么办?陈正木的664ABC。
21:04
对吧,然后这个时候看啊。清下片。然后有六了,有血了。对吧,好,那我干嘛往里写一下,看着写进去了吧,看一下ABC能读了吧,所以我说对文件有写代表可以执行这两个命令。那现在我对文件已经有写了,我能不能删这个文件呢?各位看着啊,能不能删?不行吧,原因。原因没错,我现在上进目录,我退出来。我退出来,我的上级目录是不是依然只是拥有的是无权限?而我们说了,你必须是要对上级目录有写,是不是才能删这个文件,对吧?所以要想删,需要给上级目录复写权限,我才能执行这样的命令,那么是啥?
22:00
我陈之木的775123。这个目录付完。我对目录就行,对吧,我进到目录里面,这个时候看到我对文件其实还没有任何操作,依然是664对吧,这个时候我要删这个文件。删掉了吧,恰恰是个新文件,是不是也可以了,是不是也可以了,对吧,没错吧,所以说必须要对上级目录有写,我才能执行这个新建删除,复制剪切命令,所以各位小心啊。对于文件目录来讲,最高权限可是写。要慎重给目录复写权限,其实我前面说啊,不许复777对吧,其实主要指的就是其他人不应该复写。给其他人的目录权限不应该复写,所以对目录来讲,最高权限是写,但是对文件来讲的话。最高权限可就是执行了。可就是执行了,OK,好啊各位,这就是我们这节课讲的东西,这节课我们讲了一下权限读写执行分别对文件和目录的不同作用,各位,这个东西可能还真的和你们想象的东西并不太一样,然后我做了一下这个实限,从而验证一下我刚刚说的是对的。那我说了这个实验有几个注意点,第一个不能用root做,第二个U色一能改,直接改自己的权限。
23:27
对吧,第三个U色一只匹配,如果按照我这个实验,U色一匹配的是所有者权限,注意这些事,这个实验就能完成了。好,各位,这就是这节课的内容,我们下节课再见。
我来说两句