06. 文件权限

一、文件属性

  Linux 系统是一个典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保证系统的安全性,Linux 系统对不同的访问用户访问同一个文件(包括目录文件)的权限做了不同的规定。在 Linux 中,我们可以使用 ll 或者 ls -l 命令来显示一个文件的属性以及文件所属的用户和组。

文件权限的查看

  当我们使用 ll 或者 ls -l 指令查看文件时,文件信息开头的 10 个字符依次表示该文件的属性。如果没有权限,就会出现 - 号替代。从左到右这 10 个字符依次含义如下:

文件权限的含义

  • 0 位表示 类型,在 Linux 中的一个字符代表这个文件是目录、文件或链接文件等,其中:- 代表 文件d 代表 目录l 代表 链接文档
  • 1-3确定属主(该文件的所有者)拥有该文件的权限
  • 4-6确定属组(所有者的同组用户)拥有该文件的权限
  • 7-9确定其它用户拥有该文件的权限
  • r 代表 可读,对于 文件 而言,可以 读取、查看该文件内容。对于 目录 而言,可以 使用 ls 查看目录内容
  • w 代表 可写,对于 文件 而言,可以 修改该文件内容,但是不代表可以删除该文件(删除一个文件的前提是对该文件所在的目录有写权限,才可以删除该文件)。对于 目录 而言,可以 在目录内创建、删除和重命名文件
  • x 代表 可执行,对于 文件 而言,可以 被系统执行。对于 目录 而言,可以 进入该目录

二、修改文件的权限

  我们可以使用 chmod 命令 对文件的权限进行修改

chmod {[身份]}{权限操作符}{权限类型} 文件或目录

  其中,身份 是指要修改权限的对象,u 表示 该文件的所有者(user),g 表示 所有者的同组用户(group),o 表示 其他用户(other),a(可以省略)表示 所有用户(all)。权限操作符 是指对权限如何操作,+ 表示 在原有权限的基础上新增该权限- 表示 在原有的基础上移除该权限= 表示 直接设置为该权限。权限类型可以是 r 表示 可读w 表示 可写x 表示 可执行

修改权限

  如果我们要对文件的所有者、所有者所在的同组用户和其它用户分别赋予不同的权限,这需要使用 chmod 命令操作多次。此时,我们可以将三种身份各自的 (0b100,即 4)、(0b010,即 2)和 执行(0b001,即 1)权限看作三位二进制数字表示,然后将 权限值累加 就可以看作当前身份的权限。

chmod 权限累加值 文件或目录

通过权限累加值改变权限

三、修改文件的所有者

  我们可以使用 chown 命令 修改文件的所有者

sudo chown [-R] 修改后的文件所有者 文件或目录

  其中,-R 选项可以递归地对目录中所有文件修改所有者。

修改文件的所有者

四、修改文件的所属组

 我们可以使用 chgrp 命令 修改文件的所属组

chgrp [-R] 修改后的文件所属组 文件或目录

  其中,-R 选项可以递归地对目录中所有文件修改所属组。

修改文件的所属组

  同样,我们可以使用 chown 命令 修改文件所有者的同时修改文件的所属组

sudo chown 修改后的文件所有者:修改后的文件所属组 文件或目录

修改文件所有者的同时修改文件的所属组

我们在修改文件所属组时,文件的所有者要属于修改后的那个所属组。

posted @ 2025-02-01 19:40  星光映梦  阅读(37)  评论(0)    收藏  举报