欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux 文件权限管理

程序员文章站 2022-12-18 10:31:57
1.文件权限的概述 在Linux系统下,使用权限来保护资源的安全将是一种不错的选择。系统中每个文件的权限都有可读(r)、可写(w)和可执行(x)这三种权限,它们分别对应权限数值4、2 和1。系统为每个文件和目录都设有默认的权限,每个文件中可分有拥有者(u)、同群组的用户(g)和其他组用户(o)。 文 ......

1.文件权限的概述

在linux系统下,使用权限来保护资源的安全将是一种不错的选择。系统中每个文件的权限都有可读(r)、可写(w)和可执行(x)这三种权限,它们分别对应权限数值4、2 和1。系统为每个文件和目录都设有默认的权限,每个文件中可分有拥有者(u)、同群组的用户(g)和其他组用户(o)。

文件的类型不同,权限就有所不同,虽然每个文件的权限都是 777,但在创建一个文件时,并没有看到该文件的权限是777,这是由于掩码的作用使得某些权限被屏蔽。

对于每个文件,其都由不同的信息组成,如图所示,这是我们之前创建的一个名为cat1的空文件,该文件的详细信息如下所示。

Linux 文件权限管理

 

文本文件与目录文件的区别就在于第一个描述符不同,目录则以“d”为描述符。如图所示,这是之前所创建的一个名为cat的目录,该目录的详细信息及相关介绍如下所示。

Linux 文件权限管理

使用带有-l选项的ls命令,可从许可字符串的首字母来识别所列出每个文件的类型,以下是几个常见的标识号。

●-:一般文件(硬链接)。

● l:符号链接(软链接,可使用带有-s选项的ln命令来创建一个软链接)。

● d:目录。

● c:字符设备文件。

● p:命名管道。

● s:套接字。

● b:块设备特殊文件。

2.文件权限管理

从刚创建的cat1文件中看到,该文件虽是cat用户创建的,但cat用户对该文件并没有可执行权限。现在要为cat1添加可执行权(x),将这项任务交给chmod命令就可以。使用chmod命令也非常简单,如下所示,为cat用户添加对cat1文件的可执行权。

[cat@cat ~]$ chmod u+x cat1

通过以上操作后,cat用户拥有了对cat1文件的可执行权。当然,要添加其他权限的操作也差不多,也可以使用“chmod+rwx 文件名”来授权。感兴趣的读者可以试试,这里只讲方法,可以通过这种方法来进行练习,以便更好地掌握。

如果对cat目录下的目录同时授予可执行权,则可以使用带有-r选项的chmod命令进行操作,其格式如下:

chmod–r 目录名1/目录名2

其中目录2是目录1的子目录,即在目录1下创建目录2。

使用-r选项,可递归地授予各种权限。

接下来讲解取消某个用户(或用户组)拥有该文件的权限,使用的命令还是chmod,如下所示,取消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