第四章 文件权限(一)

发布时间 2023-11-06 14:32:59作者: iiiiicxegg

 

4.1 基本权限 UGO:

4.1.1 设置文件属性与权限:
在Linux系统中,每个文件和目录都有一组权限,用于控制对其的访问。这些权限被分为三个类别:用户(User)、组(Group)和其他人(Others)。每个类别都有三种权限:读取权限(R)、写入权限(W)和执行权限(X)。

  • 读取权限(R):允许用户查看文件内容或目录中的文件列表。
  • 写入权限(W):允许用户修改文件内容或目录中的文件列表。
  • 执行权限(X):对于文件,允许用户执行文件;对于目录,允许用户进入目录。

要设置文件的权限,可以使用chmod命令。下面是chmod命令的基本语法:

bash
chmod [r+w] 文件名

  


其中,权限模式可以使用数字或符号表示。

  • 数字表示法:每个权限用一个数字表示,读取权限为4,写入权限为2,执行权限为1。将所需权限的数字相加,即可得到权限模式。例如,权限模式为rwxr-xr--可以用数字表示为754。
  • 符号表示法:使用u、g、o和a分别表示用户、组、其他人和所有人。使用+、-和=来添加、删除和设置权限。例如,要将文件的所有者添加写入权限,可以使用命令:
bash
chmod u+w 文件名

4.1.2 UGO权限设置案例:
假设有一个文件名为example.txt,当前用户是文件的所有者。

  • 要将文件的所有者和组的权限设置为读取和写入权限,其他人的权限设置为只读权限,可以使用以下命令:
bash
chmod u+rw,g+rw,o+r example.txt

 

 

  • 要删除其他人的执行权限,可以使用以下命令:
bash
chmod o-x example.txt
  • 要将文件的所有者的执行权限设置为只读权限,可以使用以下命令:
bash
chmod u=r example.txt

 

4.2 基本权限 ACL:

4.2.1 ACL基本用法:
除了基本权限UGO之外,Linux还提供了一种更灵活的权限控制方式,即访问控制列表(ACL)。ACL允许用户为特定用户或组设置个别的权限。

要使用ACL,需要先确保文件系统支持ACL,并使用mount命令挂载文件系统时启用ACL选项。

  •  设置ACL权限:可以使用setfacl命令来设置ACL权限。下面是setfacl命令的基本语法:
bash
setfacl [选项] 文件名

其中,选项可以是以下之一:

  •  -m:添加或修改ACL权限。
  •  -x:删除ACL权限。
  • -b:删除所有ACL权限。

 

  •  查看ACL权限:可以使用getfacl命令来查看文件的ACL权限。下面是getfacl命令的基本语法:
bash
getfacl 文件名

 

4.2.2 ACL高级特性:
ACL还提供了一些高级特性,可以进一步细化权限控制。

  • -默认ACL:默认ACL允许用户为新创建的文件或目录设置默认的ACL权限。这样,在创建新文件或目录时,会自动继承默认ACL权限。默认ACL可以使用setfacl命令的-d选项来设置。
  • 继承ACL:继承ACL允许用户为目录设置继承ACL权限。这样,在目录中创建的新文件或目录会自动继承该目录的ACL权限。继承ACL可以使用setfacl命令的-R选项来设置。
  • -限制ACL:限制ACL允许用户为文件或目录设置限制ACL权限。限制ACL权限会覆盖基本权限和其他ACL权限。限制ACL可以使用setfacl命令的-mask选项来设置。