手记

【金秋打卡】第18天 Linux权限管理之基本权限

课程名称Linux权限管理之基本权限
章节名称第2章 文件基本权限
讲师名称Tony

课程内容

  • 修改文件或目录的权限
  • 修改文件和目录的所属组
  • 修改文件和目录的所有者和所属组
  • Linux读写执行权限(-r、-w、-x)的真正含义
  • 默认权限的设定和修改

课程收获

修改文件或目录的权限

Linux 系统中,文件的基本权限由 9 个字符组成,以 rwxrw-r-x 为例,我们可以使用数字来代表各个权限,各个权限与数字的对应关系如下:

r --> 4
w --> 2
x --> 1

由于这 9 个字符分属 3 类用户,因此每种用户身份包含 3 个权限(r、w、x),通过将 3 个权限对应的数字累加,最终得到的值即可作为每种用户所具有的权限。

拿 rwxrw-r-x 来说,所有者、所属组和其他人分别对应的权限值为:

所有者 = rwx = 4+2+1 = 7
所属组 = rw- = 4+2 = 6
其他人 = r-x = 4+1 = 5

使用数字修改文件权限的 chmod 命令基本格式为:

chmod [-R] 权限值 文件名

chmod命令使用字母修改文件权限,既然文件的基本权限就是 3 种用户身份(所有者、所属组和其他人)搭配 3 种权限(rwx),chmod 命令中用 u、g、o 分别代表 3 种身份,还用 a 表示全部的身份(all 的缩写)。另外,chmod 命令仍使用 r、w、x 分别表示读、写、执行权限。

修改文件和目录的所属组

chgrp 命令的用法很简单,其基本格式为:

chgrp [-R] 所属组 文件名(目录名)

当只需要修改所有者时,可使用如下 chown 命令的基本格式:

chown [-R] 所有者 文件或目录

如果需要同时更改所有者和所属组,chown 命令的基本格式为:

 chown [-R] 所有者:所属组 文件或目录

rwx真正的含义

rwx 权限对文件的作用
rwx 权限 对文件的作用
读权限(r) 表示可读取此文件中的实际内容,例如,可以对文件执行 cat、more、less、head、tail 等文件查看命令。
写权限(w) 表示可以编辑、新增或者修改文件中的内容,例如,可以对文件执行 vim、echo 等修改文件数据的命令。注意,无权限不赋予用户删除文件的权利,除非用户对文件的上级目录拥有写权限才可以。
执行权限(x) 表示该文件具有被系统执行的权限。Window系统中查看一个文件是否为可执行文件,是通过扩展名(.exe、.bat 等),但在 Linux 系统中,文件是否能被执行,是通过看此文件是否具有 x 权限来决定的。也就是说,只要文件拥有 x 权限,则此文件就是可执行文件。但是,文件到底能够正确运行,还要看文件中的代码是否正确。
rwx 权限对目录的作用
rwx 权限 对目录的作用
读权限(r) 表示具有读取目录结构列表的权限,也就是说,可以看到目录中有哪些文件和子目录。一旦对目录拥有 r 权限,就可以在此目录下执行 ls 命令,查看目录中的内容。
写权限(w) 对于目录来说,w 权限是最高权限。对目录拥有 w 权限,表示可以对目录做以下操作:
  • 在此目录中建立新的文件或子目录;
  • 删除已存在的文件和目录(无论子文件或子目录的权限是怎样的);
  • 对已存在的文件或目录做更名操作;
  • 移动此目录下的文件和目录的位置。
一旦对目录拥有 w 权限,就可以在目录下执行 touch、rm、cp、mv 等命令。
执行权限(x) 目录是不能直接运行的,对目录赋予 x 权限,代表用户可以进入目录,也就是说,赋予 x 权限的用户或群组可以使用 cd 命令。

默认权限的设定和修改

虽然 umask 默认权限是用来设定文件或目录的初始权限,但并不是直接将 umask 默认权限作为文件或目录的初始权限,还要对其进行 “再加工”。

文件和目录的真正初始权限,可通过以下的计算得到:

文件(或目录)的初始权限 = 文件(或目录)的最大默认权限 - umask权限

在 Linux 系统中,文件和目录的最大默认权限是不一样的:

  • 对文件来讲,其可拥有的最大默认权限是 666,即 rw-rw-rw-。也就是说,使用文件的任何用户都没有执行(x)权限。原因很简单,执行- 权限是文件的最高权限,赋予时绝对要慎重,因此绝不能在新建文件的时候就默认赋予,只能通过用户手工赋予。
  • 对目录来讲,其可拥有的最大默认权限是 777,即 rwxrwxrwx。

注意,在计算文件或目录的初始权限时,不能直接使用最大默认权限和 umask 权限的数字形式做减法,这是不对的。例如,若 umask 默认权限的值为 033,按照数字形式计算文件的初始权限,666-033=633,但我们按照字母的形式计算会得到 (rw-rw-rw-) - (----wx-wx) = (rw-r–r--),换算成数字形式是 644。

umask默认权限的修改方法

umask 权限值可以通过如下命令直接修改:

unmask 033

不过,这种方式修改的 umask 只是临时有效,一旦重启或重新登陆系统,就会失效。如果想让修改永久生效,则需要修改对应的环境变量配置文件 /etc/profile。

打卡截图

0人推荐
随时随地看视频
慕课网APP