秋栈博客

七月

Linux文件权限管理

4
2021-10-09

在Linux系统下,系统中每个文件的权限都有可读(r)、可写(w)和可执行(x)这三种权限,他们分别对应权限数值4、2、1.系统为每个文件都设有默认的权限,每个文件中可分有拥有者(u)、同群组的用户(g)和其他组用户(o)。

1、文件权限的概述

文件的类型不同,权限就有所不同,虽然每个文件的权限都是 777,但在创建一个文件时,并没有看到该文件的权限是777,这是由于掩码的作用使得某些权限被屏蔽。 对于每个文件,其都由不同的信息组成,如图所示,这是我们之前创建的一个名为CAT1的空文件,该文件的详细信息如下所示。 Linux 文件权限管理的方法Linux 文件权限管理的方法 文本文件与目录文件的区别就在于第一个描述符不同,目录则以“d”为描述符。如图所示,这是之前所创建的一个名为CAT的目录,该目录的详细信息及相关介绍如下所示。 Linux 文件权限管理的方法Linux 文件权限管理的方法 使用带有 -l 选项的 ls 命令,可以许可字符串的首字母来识别所列出的每个文件的类型,以下是几个常见的标识号。
  • -:一般文件(硬链接)
  • l:符号链接(软链接,可使用带有-s选项的ln命令来创建一个软链接)
  • d:目录
  • c:字符设备文件
  • p:命名管道
  • s:嵌套字
  • b:块设备特殊文件

2、文件权限管理

在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
  • chown (change ownerp) : 修改所属用户与组。
  • chmod (change mode) : 修改用户的权限。
下图中通过 chown 来授权用户,通过 chmod 为用户设置可以开门的权限。 从刚刚创建的CAT1文件中看到,该文件虽是cat用户创建的,但cat用户对该文件并没有可执行权限。现在要对CAT1添加可执行权限(x),将这项任务交给chmod命令就可以。
[cat@cat ~]$ chmod u+x CAT1
通过以上操作,cat用户拥有了对CAT1文件的可执行权。 如果对CAT目录下的目录同时授予可执行权,则可以使用带有-R选项的Chmod命令进行操作,其格式如下: chnod-R 目录名1/目录名2 其中目录2是目录1的子目录,即在目录1下创建目录2,使用-R选项,可以递归地授予各种权限。 取消cat用户对文件CAT1拥有的可执行权。
[cat@cat ~]$ chmod u-x CAT1
根据文件权限数值,4代表可读,2代表可写,而1则代表可执行,并且权限数值存在时以1表示,否则就用0来表示(实际上就是用二进制的方式来表示),就可以对于某个文件或目录中的权限数值计算。如图所示,计算名为CAT1文件的权限值。 Linux 文件权限管理的方法Linux 文件权限管理的方法 若需要对该文件授予权限,也可使用“chmod 664 CAT1”的形式来为用户授权。 有时为了方便,把文件的拥有权授予其他人,可以使用chown来改变文件的拥有者,下面演示将cat用户的CAT1文件转给dog用户,先切换到root用户,然后才可以执行。由于CAT1文件在cat用户的主目录下,因此使用/home/CAT1。
[root@cat ~]# chown dog /home/cat/CAT1
执行命令之后,可以使用带有-l选项的ls命令来确认更改文件拥有者的操作是否成功。如下命令显示更改文件拥有者之后该文件的详细信息。
[cat@cat ~]$ ls–l

total 0

-rw-rw-r-- 1 dog cat 0 Aug 9 21:27 CAT1
  • 0