Linux学习篇第六期

  • 2020 年 4 月 10 日
  • 笔记

上一期介绍了用户和权限的基本概念,这一次我们首先来讲一下赋权。

我们可以看到,一个新建的用户(上一期新建的sand),他的家目录的权限默认是rwx——,即用户自己对自己的家目录有完全的控制权,而其他用户没有任何权限,由于用户组没有配置,所以目前也是没有任何权限。其实对于改变权限的方式有很多,包括权限的授予与消除,但是小编还是倾向于使用数字直接进行操作,这里来说明一下,r用2的2次方表示,w用2的一次方表示,x用2的零次方表示,从左到右依次是4,2,1。首先小编先来示范一下命令的使用,然后再来解释:

使用时在命令后输入三个数字,分别代表所属用户,用户组,其他用户的权限,每个数字的值就是rwx的值的加和,例如,上例中,706代表所属用户为7=4+2+1,即拥有读写和执行权限,0=0+0+0,即同组用户没有任何权限,6=4+2+0,即其他用户拥有读写权限,没有执行权限。大家可以注意到,刚刚我们更改过的sand文件夹的名称出现了背景,这就代表这个文件(夹)可以被所有人读写。另外还有很多更改权限的方式,下面再介绍一种,三组权限还可以用三个字母来代替,u(user),g(group),o(others),当执行时,我们用加减号来代表权限的赋予与消除,如下例:

当使用chmod g+r,o-w sand/命令后,同组用户添加了读的权限,其他用户没有了写的权限,可以注意到,sand文件夹的背景色已经不见了。下面我们恢复sand文件夹的权限,而后进入目录新建一个文件:

可以看到,我们在root用户下新建的文件的属主是root,那么我们如何更改文件的属主和数组呢?需要使用chown命令:

这样更改之后,原有的权限不动,而因为属主和属组发生了变化,相应用户对该文件(夹)的权限也就发生了变化,当然,在更改一个文件(夹)的权限时也要拥有足够的权限更改才行,通过上面的命令可以看到,chown命令可以同时修改文件(夹)的属主和属组,属组是可选项。说了这么半天属组,我们来实际操作一下属组,首先添加一个用户组:

groupadd sandTower

这样我们就新建好了一个名为sandTower的用户组。接下来就是把用户分配到用户组中:

现在sand这个用户已经被分到了sandTower这个组中,如果后续还有其他用户添加到该分组,那么该如何限制同组用户的访问权限,我想大家应该已经清楚了,上一期已经说过了,对于这一块可能工作中用到的不是很多,重点在于权限部分,一定要熟练掌握,最后再说一个情景,有的时候我们会以root用户建立ftp(xftp)连接上传文件,这样所有的文件的属主和属组都是root用户,这个时候我们想更改一个文件夹内的所有文件的权限我们可以使用chmod -R命令,后面的参数和前面介绍的相同,讲了这么多,大家可以自己尝试一下,新建用户,赋予或消除权限,然后切换成其他用户,看看是否起到了作用