00:00
大家好,欢迎大家继续收看上硅谷的运算课程,我是沈超老师,那这节课呢,我们继续来学习acr命令,那上节课我们讲了怎么查看acr,怎么设计acr的基本命令,对吧?那这个时候我们需要让你注意一件事,啥事,你看到我现在处理回到root用户了啊,我又是root,因为视频学员用户在这个目录下没法建立,对吧?那我进入到3W目录下,那我干嘛?我手工在这里加两个测试文件。那我们现在可以看到的是3W目录是有AR权限的,我们之前设计对吧,那我想问的是这两个在目录下新建的两个测试文件有没有是这个AR权限呢?各位,这两个文件是没有acr权限的,对吧?那现在问题来了,我想既让这个目录有acr权限,我也想让这个目录下所有的子文件和子目录当中的子文件也都有acr权限,能做到吗?能只需要在这里加一个杠大R。
01:03
它的作用是递归。小心,递归只能赋予目录啊,那肯定嘛,递归是不是就指的是目录下子文件,子目录都拥有,那你覆盖文件肯定是没有意义的,对不对?那这时候怎么办呢?看着我使用命令set facr可以不用退出这个目录啊,问题不大啊。杠M设定给U用户设定,给视听用户设定,设定五权限杠大R针对3W。哎,就这一点区别,前面讲的时候只是没加这个,现在加了,当然了,它代表针对这个目录下所有子文件都生效,那这个时候我们看一下啊。ABC,这里是不是有了?AC权限对吧,那这是递归,各位,这是递归,用起来感觉好像很方便,但是各位我再提醒你们一句啊,一旦有了这个acr权限,LL看到了权限,它就不准确了,为啥它权限只有这么几个范点,它显示不了那么多身份,所以他可能就会看,比如说这里按理说应该是这个所有者,其实是没有所属组是没有这个写权限的啊,执行权限的,但是因为递归家里有,所以呢,这里看到了有,那要更准确的话怎么办?还是要干嘛get分,然后来查询看,这时候才看到的是准确的,OK。
02:24
好,那这是递归的问题,递归的问题,那这个时候我问你啊,我如果再创建一个文件CDE,那我想问这个CDE有没有A3。有吗?我们试试看,哎,我们已经递归了呀,那这个文件为什么还是没有被下权限呢?人。原因就是我说的递归,它只能针对是已存在的文件生效,就是说这个目录下已经建立了子文件,如果你递归了,它是能生效的。但是如果你在这个地轨以后,以后再新建,就敲完地回命令再新建这个命令,这个文件就不生效了,换句话说。
03:08
我第一回命令是在新建CD文件之前调的。而它是不是只针对这个目录下已存在的文件生效,而CDE呢,是在它之后出现的,所以CDE没有赋予A线。那我能不能针对以后新建的文件也生效呢?完可以,只要在这里加一个D在前面。在这里再加一个D就行,D在这里其实是default默认的意思,Default默认你可以,你可以理解为什么如果你设了个计,它会针对这个目录设定一个权限模板。以后所有新建的文件都会遵守这个模板来分配AR权限,换句话说,就是以后再新建的文件也会有AR权限。那么试试啊,来看啊,就跟刚刚那个命令一样,只不过就在前面加个D冒号就行了,E啊其实也很好背啊,回车之后这个时候LL看这个D3W是看不到什么的,但是我们get fal我们看一下。
04:12
看一下啊来,刚刚其实只有这一段内容。而当我附了D之后,它多出来了这样一段,看多出来的内容都有一个标记,证明以后这个目录下新建的文件都遵守这个模板的内容,那我们来测试一下,我们创建一个EDF,那我们看到啊来。GIF是有。加号了,看到了,那为什么CD还是没有啊,原因。各位。递归是对之前建立的文件是不是生效,而CDE是不是在它之后出现的,所以递归是没有对它起作用。对吧?而默认指的是对它以后建的文件生效,而CDE又是在他之前建立的,所以默认这还没生效,所以新理刚好卡在两个命令中间了,一个是对这个呃,已这个已经存在的生效,一个是对以后新建的生效,而这个刚好是在这两个命令中间,所以它刚好没生效。那其实如果你真要能理解CDE为什么没有A项权限,你其实就能理解这个递归和默认的区别了,我再说一遍。
05:22
定位指的是对已存在文件生效默认,对的是以后新建的文件生效,好,这是设定。各位学完之后有没有啥感觉?我们的学员就会,有些学员就会告诉我老师。我觉得使用acr权限呢,更加简单,我不需要再考虑这个用户的所有者,这个文件的所有者所属组,其他人我想让他谁对他有权限,我就acl直接赋予,他就直接有权限,这样做我觉得更方便,那我能不能就直接用AC的权限来取代基本的读写的执行和所有者所属组吗?能不能?
06:02
嗯。各位不推荐。原因全线溢出。AR权限最大的问题,AR权限。一旦。一旦这个地位。之后不可。避免。然后会出现权限溢出。什么叫全线溢出啊,各位来看。我刚刚你看啊。我给目录付的是不是无权限?对吧。那我问你,对目录来讲,执行权限代表什么?是不是代表仅仅只是CD进入工作?对吧,但是执行权限对文件来讲代表什么?代表它的最大权限嘛,我们说过对表代表这个文件是不是可以运行了,而我们一直在说对文件来讲是不是要小心赋予这个执行权限,因为极其的危险,因为它会执行,对吧,但是。
07:06
对目录来讲,执行权限又是必须的,所以你看你必须要给一个目录,要递归,你就会给这个目录给五,因为对目录来讲,我仅仅只是代表进入,但是这个目录下是不是有很多子文件ABC bcdcd,对吧?那这些文件全部就会拥有执行选项。哎,我们可以看到试听用户对这个文件。是有执行权限的。OK,这是很很烦的东西,因为什么这个东西是你强制自己归进来的吗?那。这事怎么办?各位,这事你就只能一个文件一个文件改。那你就也就说你给目录递归了,那你里边的文件就得一个一个改,那我们如果这个目录下有1万个字文件,你是不是就要改1万。所以这事就没法用啊,那有人很聪明,我们就有学员说,那老师能不能这样,我给目录递归复复四权限,我只复读,这样所有的文件不就是正常的吗,都是读。
08:08
对吧,然后我再单独给这个目录。给他付个五不就解决了吗?哎,我说你太天真了,为啥谁说这个目录下只能有子文件呢?它里面是不是还会有子目录?123234,假设这里面也有1万个子目录,你怎么办?换句话说,如果你只要用了al权限的定位。这个权限溢出就不可避免,原因其实就是很简单,就是什么执行权限对目录来讲代表的是CD,对文件来讲,它代表的是最大权限,这是最大的矛盾。你既然要递归,那是不是就代表这个目录下所有的子文件,子目录全部都在拥有相同的权限,那这个时候不论是你负五,负五对文件是不合理的,负四对所有的子目录就没法访问,你归根结底到最终还是得一个一个改。那如果真要用有解决办法,有有写脚本,自己写个脚本来,然后呢,给这个目录下检测一下这个目录下的这些子文件,是文件的给四,是目录的给五,其实脚本也不难,但是。
09:15
啊,我们后面写12脚本的时候,可以帮你写一下这个东西,但是这个事儿就是。他就不是一个单心病令了,换句话说,我还是那句话,各位acr权限是用来解决身份不足的,而它又有一定的风险和这个怎么叫什么,这叫什么,就是一定的这个不足之处,所以如果能够正常使用,请你们还是使用读写之效标准权限来负责。只有当出现了什么身份不足,比如说就像我们现在举例这个用户身份没法安排,我没办法,那就必须要用它,那这个时候权限一出,你该忍你就忍呗。那就没办法,偶尔一个用户,其实其实影响可能不会太大。或者你就写个脚本,用这个用户附的时候,写个脚本目录给我,这个子文件给四用来这样来解决。
10:02
OK,换句话说啊,各位,我们在工作中我见过一些工程师用acr权限直接就取代了读写执行,那我问他为什么这样做,他说这样做远比你这个划分所有者、所属者身份简单。那我说各位,他可能是没有理解这个校园权限的缺点在哪?那我说各位,它的缺点是有安全性隐患的。那我们说了服务器要求最大的是不是就是安全稳定,那麻烦一点不在话下,你可以通过写脚本来解决,但是安全隐患你直接递归复,这个是有问题了,好大家注意这个事儿啊,可以,那其次呢。其次呢,我们对比这个先要搞清楚这个啊,然后我说AC其实是有一定风险的,大家小心,其次我们接下来接着再看看这个ma学各位。Get,查询完AR权限之后你就可以看啊,这里其实是有一个mask值的,你发现了吗?
11:02
哎,我们这里都有啊,你看你可能都没注意到,你都没人问我啊,当然你们问不着我,你看是不是都有。这是干嘛的?这其实用来是做调整最大有效权限的,换句话说,大家看啊,我get fal3W。这个目录马斯克是不是最大权限七,那这种情况下,你给视听负五,它这里就是它是这个啥,它是绝定最大的,也就是说这个用户到底有什么权限,不是他说了算,而是啥,他和ma的权限相于。逻辑与才可以,如果得出的权限才是啥意思啊?读与读得出来,是不是就是读?那空与斜与出来是不是就是空,那直行与直行与出来就是直行,逻辑与讲过一与一,结果是一。零与一,结果是零,一与零结果是零,一一,零与零结果还是零,也就是说只有两个条件都有两个条件都成立,结果才成立,那换句话说。
12:10
就是试听学员这里有毒,Mask这里也有毒。它与出来的结果才有路。只要有一个人没有这个权限,他语出来就没有,必须两个人都有执行,他语出来才会有执行,他是用来控制最大有效权限的,默认这个值就挺好了,不用改,但如果你非要改可以吗?能改。使用。S fal-M,只要把这个换成M就行。各位。呃,我们前面讲的是看杠MU后面加用户名加权限对吧,这里呢,直接就是加权限就行,没有用户名,因为它是最大有效权限,不是针对特特定用户的,是针对所有用户的,那我们试试啊,那我们。呃,SFA-M,然后呢,给默认权限负别别看了,我这里干脆干嘛,我这里不是这是五吗?这里是七吗?那我给他付个六。
13:03
那我们看一下负个六,针对3W我们就来看一下,然后负完之后get你会看到啥。这里是不是读写空读空直行,那我说了它是要要语的,那读与读语你就出来的结果是读。空与写与与出来结果是空,那直行与空与与出来的结果啊,空与直行写啊与那直行与空这。直行与空余,余出来是不是也是空,所以后面加了一个注释。Effective实际上视听用户的权限是只读,因为mask这里没执行啊,他俩一语就消失了,这个权限就没了,但这个其实用处很小,建议大家就用默认的,就是说它不起作用,不干扰咱们就行,所以我还是建议你把它还是改成七就行了,好了,这样就可以了,OK,那这样的话,这就是最大。
14:01
有效权限默认就行,看懂就行,怎么删呢?非常简单,杠B删除这个ACM目录下所有Excel权限,那杠U呢,这杠X呢,如果加用户用用户名,就删某一个用户的权限。那我们这里比如说我给。查一下。现在是不是试听用户有权限对吧?那我再设一个set f1r-M用户,哪个用户呢?我要U41,对它也有五权限,好吧,然后针对3W目录,这个时候get一下,我们可以看到俩用户是不是都有了,那如果要是删除删除其中单独一个呢?那么就是set f fal,然后杠X用户删除哪一个用户了呢?删除U1的,针对3W目录看清楚啊。杠S3U后面要写用户名,不用再写权限了,因为要把整个用户权限都删了,不管你原先权限是啥,回撤这个时候盖F一看。
15:02
只有试听了,刚刚这里是不是还有UC1的没有了,对吧?那要删除所有的arl权限呢?那我们就把它干成杠B就行了。就这条命令,它就会把所有删掉,包括默认也都删掉,这样的话看就没有A3选项。这个文件就没有了AR权限,OK,好,这就是AR权限基本的用法。其实AR权限命令并不难,你需要理解的事情是什么?第一个就是递归和默认的区别,这个事儿还是有点绕吧。第二个就是什么?我需要你们的理解的是,AR权限是有隐患的。一旦递归,它不可避免的会出现权限溢出,所以能不用acr权限,尽量还是要用标准权限,只有标准权限实在解决不了,这个时候再考虑acr权限。好了,各位,AR权限的内容就到这里,我们休息一会儿,下节课再见。
我来说两句