文件权限就是文件的访问控制权限,即哪些用户和用户组可以访问以及可以执行什么样的操作。
linux系统是一个典型的多用户系统,不同的用户处在不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,linux系统除了对用户权限做了严格的界定外,还在用户身份认证,访问控制,传输安全,文件读写权限等方面做了周密的控制。
在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
1.ls查看权限
前文《目录操作命令》中,我们已经讲到了ls -l长格式输出了。并粗略讲解了七列信息的含义。
这里我们将详细解读,第一列的信息。
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”的文件。
我们发现,这个文件的所有者是yuan_gong1
首先,我们切换回root或者sudo权限的账号。
//命令格式
chown <user_name> <file_name>
3.修改文件权限
如果你有一个自己的文件,不想被其他用户进行,读,写,执行,那么就需要对文件的权限进行修改。
修改文件的权限有两种方式
方式一:二进制数字表示
每个文件的权限信息都可以被分为1-3-3-3的形式,并且一次对应的顺序为:文件类型,拥有者权限,所属组权限,其他用户权限(这个顺序一定要记住)。
rwx—>421
如果有权限,该为取1,没有取0
rwx = 7
这也是我们常说的777权限,也就是给拥有者,所属组,其他用户都赋予改文件的所有权限。
我们现在,把”work_space”这个文件的权限设置为600.
也就意味着改文件的权限信息为:-rw———-
//修改权限信息的命令
chmod <对应权限> <file_name>
权限修改成功
我们重新登录yuan_gong1(上面已经把文件所有者修改为root,并且权限修改为600),看看是否能查看此文件。
错误提示:访问被拒绝。
方式二:直接加减表达
在我们修改为600之后,我们现在要让所有者,所属组,其他用户rw权限。如果我们熟悉二进制方式,可以直接666修改,此外,还可以用更直观的方式,直接进行加减操作
u代表user
g代表group
o代表other
chmod go+rw work_space
显然,修改是成功的。