00:00
大家好,欢迎大家继续收看上硅谷Linux运维课程,我是沈超老师。这节课我们继续来讲经典面试题,那这节课我们开始来看系统类、系统管理类的面试题。那我们首先来看权限优化这样一套企业。各位权限的题一般来讲难度都不够,一般都是什么这种填空题,选择题,诶问你这东西是什么,哎,这个权限是什么,有什么含义,有了这个权限能干什么,或者这个难一点的就是什么,我有一个什么样什么样的需求,你说哪个权限可以完成,或者你来设计这样一个权限体系。但是这道题比较特殊。他问的是。简述Linux权限划分原则。这种题可不好答,大家要注意为啥?他问的太简单了。太简单之后呢,怎么答都有都都对,可能那换句话说怎么答可能都不对。
01:06
那这种题呢,就完全是考验你的什么,这叫什么这种啊。你的经验了。换句话说,还是说。你可能在面试前,你要对你的公司,你去面试这家公司,你要有一个大体的了解,你要知道他的这个运维主要面对的是什么样的一些操作环境。这种情况下你可能。才能答的更贴近他想要的答案。各位,这种题好出,特别好出几个字,你数数对吧?但是这种题可非常不好答,原因。精英类的题,他没有标准答案,怎么答可能都是对的,那反过来就是我说怎么答可能都是错的。所以啊各位,我们说这种其实我们面试过程中最怕碰到的题。但是呢,呃,这种题还很多原因,我就说就是面试题啊,都是你抄我的,我抄你的,其实很很少有人愿意真真正正的这个,踏踏实实的静下心来出几套质量特别高的。
02:11
啊,很少有啊,所以呢,像这样的题就是啊问的笼统的这种题特别多,那这时候呢,我们就说啊各位这种题呢,首先你要对Linux权限的相关作用,它会你要更加熟悉和理解,其次呢,我说这是一类经验类面试题。他不一定有标准答案,那我们先来看看我们的权限。各位,为了解答这个题,我们做了这样一个思维导图。这个导图我们到时候也会发给大家,那各位我们Linux呢,除了s SE Linux安全上下文这个权限之外。这是集成在内核中的增强安全权限,除了这种权限之外,我们Linux系统权限就是这六种啊,我们大概理念啊,我们第一种权限叫文件的基本权限,也就是你们打开之后。
03:02
在这里看到了文件的这个权限,这就是基本权限。各位。基本基本。它的含义就是常见,那小心啊。基本权限是保护我们这个系统最主要也是最常见的安全手段。大家一定要对这东西熟练掌握,那我们说啊,这里我们说了一下,诶,它这个分这个文件的身份分了几类啊,我们说过了所有者权限前三个对吧,中间三个所属主权限,后三个其他人权限对吧。每个权限呢,然后呢,第一个类呢。第一位呢,用来标识这一位啊。用来标识文件的类型,我们系统Linux系统常见的类型是七种啊。其实最常用的是前三种,后面都是系统这个特殊的硬件设备文件,特殊设备文件不光是硬件。当然我们说不止这七种,还有其他的,甚至还有一些unix独有的类型,你们都可以通过英孚LS来查看到它的相关帮目录,我这里列出的就是我们普通常见的剩下一些unix的,我们是Linux,我们管unix干嘛,对不对?
04:18
然后呢?解释了下权限了读写执行的含义,小心。对文件和目录的含义不同,诶各位。这个含义。他可是在这个就是在一般的这种选择题填空题里可是非常常见。它用来考察你对这个文件的理解,当然这个权限具体的内容太多了,我们就不能一个一个说了,如果你要真想看,你可以对应的去参考我们的这个之前录的系统管理类里面文件基本权限这个章节啊,我们视频都是有的,对吧。那接下来会有权限的修改,哎,最后有注意事项,那我们说各位注意事项,我们说一句,这是经验的总结啊,我们说。
05:04
给文件或者目录分配权限的时候,首先分配所有者和所属组。也就是说,你先要考虑的是文件的所有者是谁?所属,所属组是谁才考虑给什么权限,我们的学员在初学的时候都是什么?上来就是读写读读,你给谁给读写。所以啊,先要考虑分配的是身份,再考虑权限。第二个原则呢,就是最小化权限原则。能满足这个条件,能满足功能的情况下,给的权限越小越安全。第三个呢,就是什么修改子目录的时候,目录里的子文件的时候注意递归,为啥?如果你只是让目录本身有权限,里面的子文件没权限,它可能不一定有作用,所以要考虑递归,但是我们一般要改递归的话,不是说读写执行,我就给它直接杠二递归了。
06:00
这样的话,会权限溢出了它底下的子文件,文件其实没必要有执行权限的,目录的执行权限是必备的,代表可以进入目录,但是文件的执行权限可代表它是什么?考试什么?最高权限代表这个文件能执行。换句话说。对目录来讲,执行权限是必备的,但对文件来讲,执行权限是非常危险,所以一般不建议权限直接递归,那递归谁?递归他的身份、所有者和所属。一般来把身份改掉,这样的话它相对可靠,然后呢,权限溢出的几率小诶。各位,这是怎么的?第三个节点啊,文件基本权限是最常见的,我说过它也是DS的这个防护的最有效的手段,需要你们一定要熟练掌握,哎。再说一遍啊各位,这个在一般的题里,其实考察的几率最大。那接下来叫这个默认权限。
07:01
究是什么?通过u mask命令,哎,通过u mask命令我们可以干嘛?可以查看到的这个默认权限。它是用来保证我们所有的新建文件和新建目录都拥有基本权限,那这个权限一般不需要我们修改。但是它的计算方法。这个方法在考察的时候,笔试题概念题里非常多,建议你们复习一下啊,啊,官方的这种算法非常乱啊,不太建议我们建议用字母的方式来进行加减啊。接下来呢,特殊权限,这个权限它的风险比较大,我们禁止人为修改。各位suidds JD都有风险,Sbi相对来说风险小一点。但是所以我们说这个权限,除非系统自带的剩余的情况下,我们是禁止这个什么。这个人为干嘛,这个特这个修改了,大家小心啊,所以啊各位。
08:04
我们甚至会要求,在我们的实际工作中,我们会写这种suid和SJ的检测脚本。如果发现系统中有新建的这个这两种权限的文件,我们需要报警的,这个也是权限分配的时候一个需要注意的点啊。其次呢,它的作用是为了让特殊命令拥有足够的运行权限啊,这个可能你要去理解这是什么,你可能才能理解我在说什么。各位。这三个权限是有一定的区别的,S suidd只能针对可执行文件,SJD可以针对执行文件,也可以针对目录。那如果他针对的是目录,那没有风险。S bit只针对目录,风险性不太高啊,所以啊各位这个权限在我们考察这种。呃,这种什么这种什么安全风险优化的时候,这个权限需要注意,我们需要注意不要检测,不要出现过多的新增的这种。
09:05
除了系统自带的之外,不要新增出现这种特殊权限文件。接下来叫AC权限,哎,AC权限呢,它是用在。用户对文件身份不足的情况下啥意思?我们说啊。我一个文件。我只有仨身份所有者。所属组。其他人。那在一些特定的情况下。在一些可能比较复杂的情况下,这三个身份不足以来分配权限,有这个可能。那这种情况下怎么办?这时候ACI权限就会起作用了。它的作用是什么,它跟Windows的这个权限管理的这个,呃。思路有点类似,他是啥?我一个用户用11。U,我不管他是这个文件的所有者还是所属组。我把这个用户通过acl命令提出来,告诉他你对这个文件有五权限,这个用户就有了。
10:07
不再需要去考虑所有者、所属组其他人。所以我们说各位有些学员会觉得acr权限会更简单。因为他不需要去划分身份了,直接付权限就行了呀。所以我甚至见过我们一些老师给我们学员讲,我们可以用Excel权限来取代系统基本权限,你觉得这样做对不对?各位,如果我要作为面试官啊,我要想出一个稍微这个别扭点的题,我可能就会问你这样的题。AC权限,用acr权限取代系统基本权限,你觉得是否合理?各位,我们很多学员会觉得合理,原因他觉得它简单,但是我再告诉大家一遍。我们系统专业工程师是不会考虑简单这样一说。不论是编程的还是运维的,简单都是放在最后考虑的。
11:04
我们说如果简单放在之前,我们普通用户就能干,我要我干嘛花钱雇你呀。对不对,简单是最后一位考虑了,在我们系统上,我们第一要考虑的是安全,那我们说。A权限。来赋予这个。通过AR权限来赋予权限的话,我们无法避免权限溢出。权限一出,这个东西我们现在是什么。这个东西完全没有办法避免,根本原因就是对目录的执行代表进入目录。但是呢,对于文件来讲,这个执行就代表最大权限,就是我刚刚说的这个事儿。你要通过AC来赋予,你一定是要通过递归来实现的,否则它只对目录生效,里边的子文件是不起作用。那么这种情况下,权限一出就没法解决。这东西是有一定风险的,当然我说不一定说用了al就一定有这个不安全,但是它比基本权限风险要高,所以还是这句话。
12:08
如果能通过基本权限解决问题,尽量不要使用AR权限,这个也是我的建议,我再说。经验类的东西啊,每个人和每个人想的不一样,他面对的这个情况可能也不一样,我站在我的角度提出建议,OK。那。嗯。那其次呢,这些呢,其实就是具体的了,它是通过mask来这个真正生效的,然后呢,注意这个杠D和杠二的区别,杠二就是递归杠地是默认啊这两个其实那个啥,你们如果分不清,你们到时候把这个视频再看一下,我们视频里都详细讲了。所以那我这里提醒大家的是啊,你不要用acr权限,在真正工作中不要用acr权限来取代基本权限,Acr权限只用在什么?身份对文件真的不够用了,实在没有别的办法了,我所有的身份该想的都规划完,都规划了,还是不够用,被迫使用ACE权限。
13:08
不能把HR权限当成基本这个方法,这个事儿大家注意啊。接下来这个权限叫速度授权,它是用来给普通用户提权的。各位啥意思?我们只有超级用户可以执行什么,像U命令,添加一个其他用户。能执行这样的命令?但是呢,我们普通用户可能管理员很忙啊,我的这个部门经理是超级用户,其他的这个运维工程师都是普通用户,对吧,部门经理每天每天很忙,他的工作量可能很大。像这样一些常规工作,比如说添加一下用户,可能普通用户这个就可以完成。但是普通用户的账户权限U41它是不具备这个权限的,U41是没有这个功能,那怎么办?通过速度,哎,小心啊,需要管理员。通过速度给UC负一个权限,告诉他UC可以执行这条命令。
14:05
也就是说,要想使用速度的话,前提是先要由root给他来付这个权限。OK,那这里啊,授权限的时候注意一件事,这里它有这样一个原则。啥意思?授权的时候,你付的这个权限病例越长。他得到的权限越小。你付的这个权限并列越短,或者说越粗略,他得到的权限就越大。啥意思?比如说你赋权是u at,它就这个权限很短,它就能执行us site所有的选项,所有的参数。但如果你要是for you said后面加一个什么选项,比如说这个只能只能添加用户U后面加个参数吧。那U就只能执行这一条命令啊?当然,我只是举个例子。这U的后面负责这个写清楚这个,呃,用户名其实是没意义,为啥他只能添加这一个用户,我何必还要这个速度赋权呢,我入签了不就完了对吧,但是这里是告诉你的就是什么。
15:08
在。这个速度当中,它和防火墙这个原则类似。你的命令写的越完整,他得到的权限越小。你的命令写的越简单,他得到的权限越大,这个事儿注意,有时候啊,我们可能一不小心就会这个把服务器送给别人,比如说。我们通过root。给优势用户。付了个权限,让他执行VI好了,各位,我们都知道VI是个文本编辑器,对吧?好了,给他执行了这个权限之后,U31在执行VI的时候,他的身份就变成root了。那好,VI是编辑器,而我们Linux又是建立在文件之上的,所以我是不是可以用这个VI打开所有的系统文件?那我问你我能不能打开杀毒文件,我把超级用户的密码删了,我重新设个密码行不行。
16:01
没问题吧,所以啊各位你如果给他付付的太简单,直接把服务器都送给别人了。所以像这样的命令,特殊命令附附权限的时候,你可能就要写成什么。VI后面的空格写一个文件名,我只能给这一个文件来附权限,大家需要注意啊。好,第三个就是。在速度授权的时候,那个什么干嘛啊,速度授权的时候我们尽量要写绝对路径,这个事儿很重要,要不然很多人都不生效哎。最后一个系统权限叫做,我其实习惯把它叫做不可改变位权限啊。文件系统属性权限通过趁着HR来改,这个里面主要是I属性和A属性,它是用来锁定文件的,它的好处是它锁玩的这个文件root用户。也不能改。除非你把这个属性去掉。这个可以用来保护重要系统文件,大家注意一下,但是这个保护完啊,你记得要把它记下来,就是说我曾经给哪个文件加了锁,你记得为啥?
17:10
可能你过俩月你就忘了,你给哪个文件加过锁了,然后你自己去操作发现,诶我怎么也写不了,我怎么也改不了,这个事儿,我反正我经常干啊,所以。系统文件锁可能需要注意,这个可能需要记录,因为他会这个让root用户也锁定好。我们看一下系统基本的这六个权限。各位,这就是管理我们系统的主要的内容,这些内容我们说详细内容前面都有视频,大家可以看一下,那我们回来啊,我们回顾了一下我们的权限作用,我们来看看这道题怎么办。我的题是划分原则,我再说经验类的题,它不一定有标准答案,我站在我的用我的思路来看看怎么办。那我们说首先。
18:05
注意,权限分离这个事儿是异常重要的。什么意思?你的Linux权限和数据数据库权限不能掌握在同一个部门手里。那更不能掌握在同一个人手里了,为啥?各位,你们一定要注意啊。在实际的生产过程中,数据库里放的可能都是真金白银。你想想我是游戏,游戏库里的数据是不是都是我的角色的装备呀,他的金钱呀,他的经验,我问你值钱吗?这个事儿可能早,现在大家可能没感觉,现在都知道那玩意儿能卖,能卖钱。那更不要说什么京东淘宝这样的电商,他的数据库里那玩意儿就是真金白银啊,那就你你给你,你给你自己的账户里帮你打个一,你直接就多了一台小轿车都有可能。对不对,所以。系统权限和呃,数据库权限是要隔开,一般来说系统权限是要放在运维部门,而数据库权限可以放在开发部门,大家分开来管,这样的话干嘛?
19:09
麻烦,但是安全,你记得啊,你记住了。安全优化,这里你一定要记住一个原则,就是它越麻烦,安全性越高。啥意思?路边两辆自行车,一辆没锁,一辆锁了18锁,哪个丢的几率大?排除特殊情况,有的小偷说我我就要炫耀一下技能,哇塞,那个没锁了,我就不偷,我就要偷那个,这个是不是一般情况那肯定是什么,为啥你们家要加个防盗门是吧?是不是都是增加这个什么。他破解了这个这个复杂度。对吧,所以啊,你不要看麻烦,越麻烦才越安全,这个可能在一些特殊服务器群里,可能还要有一些小权限也要隔离开。那我们一般来说,一般的公司系统权限和数据库权限是要隔开的。
20:01
第二件事儿。满足功能的情况下,权限最小优先,大家注意其次。尽量不要直接使用root用户,Root用户权限太高了,误操作的几率比较大,I'm-RF是吧,直接把整个跟删了,这个情况也不少见,所以建议你就算你有root权限,你也应该是通过普通用户加速度齐全来进行日常操作。麻烦,但是安全我再说一遍,越麻烦其实反而代表了它的这个可靠性就越高,安全性越高。然后。重要系统,系统文件,我这里随便举一些例子,可能还有其他的都应该用这个称值HTR把它锁起来,刚刚说了它会锁这个,锁完之后ROOT1。不能改了,哎。然后呢?通过脚本检测新增的s sud和SJD文件,这个脚本在我们的这个,呃,细说Linux的书籍里有,在我们的视频里应该也有啊。
21:02
那昨天我们还有学员在我们的学员群里问说linus有病毒吗?各位Linux里病毒不多,但是有,那怎么办?Linux下的杀毒软件也并不太多。而且大多数都是收费的。那我们现在最著名的这个。杀乱的工具就叫做change root,这个change root hunt啊,Hunter啊,就是C。K hunter啊,这个。Hunter恋人。啊,这样一个软件,它是用来检测这个这个root k CK啊root这个也是啊,反正啊,它其实是一种扫描的,就是扫描整个系统下的文件有没有特别这个这个就看起来特别不正常。那呃,有点用,但是可能呃。呃,这个作用不是太大,但是呢,Linux下的病毒数量很少,几乎很难很难碰到病毒,所以呢,我们一般来说也对病毒不是太重视,知道有这个东西吧,万一能用到呢,对吧。
22:06
其次呢,你的SSH建议你开启密钥度登录,诶这个在我们的视频里也有,然后呢,尽量修改访问端口。这是我给的。安全权限。当然我再说这种经验类的题没有标准答案,这个反正就是,呃,能贴近你的工作最好,哎,好。那类似面试题呢啊,我们说了权限类的选择题,填空题非常多,那这些东西要想答对,你可能就要把这个东西要能理解清楚。然后我举了个例子啊,比如说问了这样一个简答题什么。当用户U页对这个目录拥有写和执行的时候。然后呢,问您对目录下的只读文件FILE1能不能删除和修改?各位,他这里问的就是什么?读写这个基本权限里的含义。问的就是这个,那我直接给答案,你们如如果看不懂下来自己看,那我们说啊。
23:05
我U31只要对他的上级目录有执行和写权限。我就能删除里面这个文件,我能删它我能删。但是我能不能修改文件内容呢,是要看我对文件有没有写权限,那我这里说了,我对文件是只读了,所以我是不能修改,可以删除这个文件啊。如果你听不懂,你下来看这个视频,OK,这里问的就是这里这个内容。好各位,这是类似面试题对吧?那这类题呢,其实很多啊,考察各种权限的这种作用,难度一般都不高,关键还是你要把这个能记住啊。最后啊,这里幻灯片上随便截了个图啊,因为这个思维导图太大了,放不下,所以呢,我说我到时候会把整个思维导图呃一块儿发给大家,大家可以做一个参考,好,这就是我们这节课的内容,这节课呢,我们通过一个权限优化的这样一个题,我们把整个Linux系统权限做了一下这个大概的串讲。
24:09
然后呢,我们举了两个类似的面试题,好。这节课的内容就是这样,我们下节课再见。
我来说两句