更改文件的权限
在 Linux 中,文件权限由一系列字母或数字表示。让我们来探讨如何读取和更改这些权限。理解权限对于保护你的文件并防止未经授权的访问至关重要。
首先,让我们查看一下 example.txt
文件的当前权限:
ls -l example.txt
你可能会看到类似这样的内容:
-rw-rw-r-- 1 root root 0 Jul 29 15:11 example.txt
-rw-rw-r--
部分表示文件权限。这就是数字表示法和符号表示法发挥作用的地方。让我们来详细分析一下:
- 第一个字符(
-
)表示这是一个普通文件。其他常见的表示符有:d
表示目录,l
表示符号链接。
- 接下来的三个字符(
rw-
)表示所有者的权限(可读可写,但不可执行)。
r
表示读取权限:所有者可以打开并读取文件。
w
表示写入权限:所有者可以修改文件。
x
表示执行权限:所有者可以运行文件(如果它是一个程序或脚本)。-
表示该权限被拒绝。
- 接下来的三个字符(
rw-
)是针对组的。它们与上述含义相同,但适用于文件所属组的成员。
- 最后三个字符(
r--
)是针对其他用户(其他所有人)的。它们也具有相同的含义,但适用于既不是所有者也不是文件所属组成员的用户。
现在,让我们使用 chmod
命令来更改这些权限。chmod
代表 “更改模式”,它允许你修改这些权限。我们将从 数字表示法 开始。
sudo chmod 700 example.txt
在这个命令中:
700
是权限的数字表示:
- 第一个数字(
7
)表示所有者的权限。
- 第二个数字(
0
)表示组的权限。
- 第三个数字(
0
)表示其他用户的权限。
每个数字都是从 0 到 7 的数字,通过将读取(4)、写入(2)和执行(1)权限的值相加得到:
4
:读取权限
2
:写入权限
1
:执行权限
0
:无权限
所以,7
(第一个数字)赋予所有者读取(4)、写入(2)和执行(1)权限:4 + 2 + 1 = 7
0
(第二个数字)赋予组无权限(0 + 0 + 0 = 0)。
0
(第三个数字)赋予其他用户无权限(0 + 0 + 0 = 0)。
因此,700
表示:所有者:可读、可写、可执行。组:无权限。其他用户:无权限。
让我们验证一下更改:
ls -l example.txt
现在你应该会看到:
-rwx------ 1 root root 0 Jul 29 15:11 example.txt
现在所有者具有 rwx
(可读、可写、可执行)权限,而组和其他用户没有权限。