文件权限就是文件的访问控制权限,即哪些用户和用户组可以访问以及可以执行什么样的操作。
linux系统是一个典型的多用户系统,不同的用户处在不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,linux系统除了对用户权限做了严格的界定外,还在用户身份认证,访问控制,传输安全,文件读写权限等方面做了周密的控制。
在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

1.ls查看权限

前文《目录操作命令》中,我们已经讲到了ls -l长格式输出了。并粗略讲解了七列信息的含义。
这里我们将详细解读,第一列的信息。

  1. drwxr-xr-x 2 root root 4096 Oct 8 17:21 .pip

以上面这个输出为例。

1.1分割

我们知道,第一列是权限信息。那我们如何解读这些权限信息。
第一列一共有10个字符
呈现为:drwxr-xr-x
我们可以将它做1-3-3-3分割,
即:
d(文件类型)
rwx(所有者权限)
r-x(所属组权限)
r-x(其他用户权限)

1.2含义

做完分割,那这些字母分别代表什么权限?

文件类型

字母 文件类型
d 目录
l 软链接(快捷方式)
b 块设备
c 字符设备
s socket
p 管道
- 普通文件

权限

字母 代表权限
r
w
x 执行

2.变更文件所有者

假设目前是yuan_gong1登录,yuan_gong1创建了一个名为“work_space”的文件。
捕获.PNG
我们发现,这个文件的所有者是yuan_gong1
首先,我们切换回root或者sudo权限的账号。

  1. //命令格式
  2. chown <user_name> <file_name>

捕获.PNG
成功把文件所有者转换为root

3.修改文件权限

如果你有一个自己的文件,不想被其他用户进行,读,写,执行,那么就需要对文件的权限进行修改。
修改文件的权限有两种方式

方式一:二进制数字表示

每个文件的权限信息都可以被分为1-3-3-3的形式,并且一次对应的顺序为:文件类型,拥有者权限,所属组权限,其他用户权限(这个顺序一定要记住)。
rwx—>421
如果有权限,该为取1,没有取0
rwx = 7
这也是我们常说的777权限,也就是给拥有者,所属组,其他用户都赋予改文件的所有权限。

我们现在,把”work_space”这个文件的权限设置为600.
也就意味着改文件的权限信息为:-rw———-

  1. //修改权限信息的命令
  2. chmod <对应权限> <file_name>

捕获.PNG
权限修改成功

我们重新登录yuan_gong1(上面已经把文件所有者修改为root,并且权限修改为600),看看是否能查看此文件。
捕获.PNG
错误提示:访问被拒绝。

方式二:直接加减表达

在我们修改为600之后,我们现在要让所有者,所属组,其他用户rw权限。如果我们熟悉二进制方式,可以直接666修改,此外,还可以用更直观的方式,直接进行加减操作

u代表user
g代表group
o代表other

  1. chmod go+rw work_space

捕获.PNG

显然,修改是成功的。