00:00
在上一节中我们介绍了一个非常有趣的命令,也非常强大,诶,那就是Su do速度,这个命令呢,可以让一个普通用户具有root的权限啊,就本来他没有权限去执行的一些操作,现在就什么都能干了,所以呢,他非常强大,也非常的危险,那Linux系统是靠什么来给它进行授权,控制对应的权限,不要滥用呢?诶,那就是我们说的,它使用了一个配置文件叫ETC。速度而死在这个文件里边就指定了哪些用户可以有对应的执行命令的权限啊,那就是说大部分绝大多数用户默认情况下,它是没有权限去执行速度命令的,而如果说我们想要让他有这个权限的话,那就把它添加到ETC速S这个文件下边啊,那本来里边只有一个root。用户可以执行所有的命令,我们把托尼用户也加进来之后,那接下来呢,托尼就可以使用速度命令去看到当前root的主目录下面的内容了,本来他是没有权限去看,这就是我们所说的使用速度去提升用户的权限,执行更多的操作,那如果大家做了更多的测试的话,就会发现一点问题。
01:19
比如说我们现在如果不是切换Tony用户,我们切换艾特硅谷用户的话。就会发现这个用户本来当然是不能去看root主目录下面的内容权限不够,那接下来呢,我们就考虑了,那是不是直接做一个速度呢,速度LS。诶,我们会发现输入密码当前的艾特硅谷之后,直接就可以看到root下边的内容。这有点奇怪啊,那在之前托尼如果要没有把它加入到速度文件里边的时候,本身我们应该是不能执行对应的这个,呃,速度操作的,它会提示你必须它没有添加在速度二里边。
02:02
那我们现在看到本身速度二里边。那当然了,现在我们本身艾特硅谷也是没有这个权限的啊。我们想要为这个。文件的话,配置文件的话也需要使用速度,那这里面我们会看到只有root和托尼并没有艾特硅谷这个用户啊。那它是到底怎么样获取到当前的速度命令权限的呢?哎,这就涉及到了另外一个概念,就是我们所说的用户组的概念,所以接下来呢,我们就来介绍一下用户组相关的管理命令。诶,那什么叫做用户组呢?简单来讲,哎,那就是组,我们可以认为就是小组队列啊,其实就可以认为是一个家族一个门派嘛。那么在不同的组里边,那不同的用户就相当于加入到了不同的家族,不同的门派,他们可能就会有不同的技能,不同的天赋啊,这就相当于是拥有了系统里边不同的权限。
03:04
在Linux下面我创建的这些用户啊,默认它属于哪个组呢?诶,其实就是各自为政,每个用户都对应着自己的一个组啊,那所以前面我们看到在这个我们先退出去看到ID当前的艾特硅谷的时候,我们就会发现。它的UID,它的用户名叫做艾特硅谷,那它的JID呢,JD指的就是组名,也叫做at特硅谷,哎,那所以它对应的啊,默认它自己就会创建一个跟用户名相同的组名,而且他自己也属于这个组。诶,这里大家需要注意的是,本身这里它对应的这个组有一个GD啊,是1000,叫做艾特硅谷,那本身这个用户他又属于哪些组呢?啊,这就是我们说的啊一个人诶其实他可以加入不同的组别啊,可以加入不同的门派啊,诶所以对于一个用户而言,他是可以属于多个组的,而我们看到这个艾特硅谷呢,它首先属于自己对应的这个组,艾特硅谷组1000,另外呢,它还属于。
04:09
Will组,哎,编号为十的这个组。诶,那这个组看起来有点奇怪,后面我们再说,呃,不管怎么样,我们会看到艾特硅谷本身,它创建之后就有了自己对应的一个组。那其实在其他的用户看的会更加的明显啊,你像root用户,它本身用户名叫root啊,UID是零,那它的group ID呢,JID呢,组名也叫做。Route啊,对应的编号也是零,那它所属的组就是route。同样,我们看到Tony和David。他们在创建之后,对应的也有一个同样的名称的组创建出来了,哎,这就是Linux的一个特点啊,新建的用户默认就在自己同名的组里边。那所有用户组相关的信息啊,其实都在另外一个配置文件里边,这个配置文件是。
05:05
ETC下边的group就是组这样一个配置文件啊,那当然了,现在我们艾特硅谷这个用户的话,你要看还是得速度。诶,这样去看就可以看到所有组相关的信息了,我们看到这里有托尼这个组,1001 David这个组1002,艾特硅谷这个组啊,1000啊,那当然了,还有其他的一些组别,那是跟前面我们讲到的系统用户和系统的用户组有关。好,说完了基本概念,那接下来我们就来看看对于用户组的一些具体操作吧。啊,就看看每一个用户他到底应该属于哪一个门派啊,那最简单的当然是新建一个组,新建一个组使用的命令就叫做group a,诶,之前我们新建一个用户是user a,现在就是group,那我们现在呢?呃,既然有了这个托尼老师和David老师,我们就新建一个组叫做呃美容美发吧。
06:00
Grouppad,哎,这里简称我们就叫美发好了,直接用拼音打一个美发,那我们现在看到现在这个权限是不够的,我们现在没有办法去锁定ETC group,因为还是艾特硅谷用户,我们退出。恢复到root用户的登录状态,然后接下来做一个group。美发这个组,哎,那接下来我们如果再来看一下的话,之前这个ETC group。就能看到多了一个美发这个组,他是1003好啊,那当然了,对应的我们希望把托尼和David的两位老师都添加到对应的美发组里边,那这个时候要用什么样的一个命令呢?诶,那这个命令其实是跟用户相关的一个命令,是在前面可以修改用户对应的用户组,哎,那所以这里边我们可以直接用一个user。Mod啊,就是modify去做一个修改,然后加上一个杠J选项,表示要修改用户的相关属性,用修改用户最常见的就是修改它的组名啊,那比方说我们现在把它加到美发这个组里边啊,那后面是托尼。
07:11
然后user moded-G美发。David也加进来。接下来,如果我们再来查看一下Tony和David的话,就会发现。他们现在用户名还是之前的啊,1001TOY 1002david用户组的名称呢,现在我们发现它已经变成了1003美发这个组,默认的这个1001托尼和David的这两个组,其实现在就没什么用了。当然了,添加到美发这个组之后,我们可能会发现,哎呀,托尼和David的两位老师这个名字这么洋气,但是加入的这个组名呢?呃,就是汉语拼音,就叫做美发,这个显得不够洋气,我们还是给个英文名称吧,那这就涉及到我们要修改这个组的组名了,诶,那之前我们修改这个用户他属于哪个组的时候,用的是user mode,那如果要修改组的信息的话,用的当然就是。
08:04
Group mode group modify啊做一个修改,那这里面呢,我们可以做一个重命名,杠N表示的就是当前组的重命名啊,那这里可以给一个比方说叫haircut吧,就是剪头发啊,Haircut给一个英文名,那要替换的就是美发这个组。我们把它替换之后,接下来再来看一下ID Pony,我们会看到当前它的主卧ID还叫1003,只不过现在名称已经变成了haircut,就不再有美发那个组了。那同样David当然所属的组也是haircut这个组了。啊,那现在如果说我们要完整的查看一下当前的组的话,可以直接cat ETC下边的group这样一个配置文件,所以我们看到现在拥有的组就是啊,我们。关心的啊,跟实际用户有关的就是root,它的编号是零,Group ID JD是零,然后下边呢,艾特硅谷编号是1000 Tony编号是1001 David的1002 haircut1003。
09:10
这就是我们当前所存在的用户组,那当然了,前面我们说这个托尼和David现在相当于已经没什么用了吧,所以我们可以直接把它删掉,那要删除一个用户组,哎,当然就是group delete Del,哎,跟那个user都完全对应啊。所以我们可以把Tony和。David,两个组全部都删掉,那这个时候我们如果再看一下。ETC。下边的group的话,那很明显现在就只剩下了艾特硅谷和haircut中间那两个1001 1002就不再存在了,所以整体来讲,用户组的管理啊,这些操作还是非常简单的,哎,那往往我们在实际应用的过程当中呢,就会根据比方说哎,我们不同的项目组,或者说不同的具体的你是开发还是测试还是运维,可能给他们划分到不同的组里边,对应的组就可以有相应的权限。
10:09
诶,那前面我们还有一个问题没有解决,就是我们说的艾特硅谷这个用户呢,它本身不仅仅属于艾特硅谷1000这个组,还属于will这个组。那这个组又是个什么东西呢?这里可以解释一下,Will这个组呢,它其实是类似于管理员的一个组。我们还记得在默认安装操作系统的时候,我们就指定了root和at特硅谷两个用户,这个at at特硅谷用户尽管是一个普通用户,但是他直接就被添加到了一个管理员组,这个管理员叫做we,那我们可以进一步的去考察一下,为什么这个at硅谷它添加到这个will组里边之后,就可以直接拥有了速度权限呢?那我们同样看一下之前的ETC速度二这个文件。
11:03
我们看到除了上边的root Tony这两行指定之外,下面还有一行。百分号will,同样,它是二,可以执行所有的命令,这是什么意思呢?前面这个百分号又是什么意思呢?前面加上百分号的话,后边带着的就是一个组的名称,用户组的名称,所以这句话表示的意思就是说,所有在will这个组里边的用户都有权限去执行所有的命令,哎,所以当然这就是一个管理员组了啊,那有了这个对应的配置,然后我们当前。当前我们看到艾特硅谷默认又添加到了will这个组里边。所以它作为一个。管理员,用户直接去执行速度,就不会有任何的提示,完全就可以执行。啊,就不用单独的像Tony那样做一个配置了,这就解释了之前我们提出的这个问题。那当然了,关于。
12:03
这里边我们进行配置的过程当中,之前我们都是在这里后面给了一个二,另外还有一种方式呢,我们可以加一个no password,然后冒号二二,这样的话就是执行所有命令的时候,就可以不用再去输入密码。呃,我们还记得之前在做这个速度操作的时候,我们直接速到爱特硅谷。在做操作的时候,诶,这里边如果要LS权限不够速度LS的话,这里还要输入当前用户at硅谷的密码,那假如说我们加了那个no password的话,这里就不需要再去输入他的密码。哎,那所以了解了这些,我们就可以把用户和用户组结合起来,而且可以更深刻的理解速度命令的使用了。
我来说两句