Linux文件权限简介
Linux 权限,它们如何工作?
对于 Linux 新用户来说,Linux 文件权限系统可能有些令人困惑。有一个由字母或数字组成的系统,所有字母或数字都混杂在一起,看似无序。
事实上,一旦你了解了它是如何分解的,它就非常简单。
目录、链接、读取、写入和执行
首先转到您的 home
目录中的一个文件夹。 Downloads
文件夹通常是一个不错的选择。到达那里后,运行 ls -lah 。
$ cd ~/Downloads
$ ls -lah
您将在下载
中看到所有文件和文件夹的列表。最左侧是一列字母和破折号。这是权限的表示法。
这团字母和破折号可以分为四个不同的部分。破折号表示那里没有值或未启用特定权限。
第一部分让您知道该文件是文件夹还是符号链接。这也是唯一一个只有一个角色的部分,即第一个角色。对于常规文件,第一个字符是破折号。对于文件夹,它是 d
,对于链接,它是 l
。
其余三部分的三个值代表实际的权限。第一个分组处理文件所有者的权限。第二部分是文件的组权限。最后一组三项是文件的公共权限。
这可能有点明显,但每个权限部分都有一个 r
、一个 w
和一个 x
值或破折号,表示该权限组没有该权限。
当然,r
对应于“读取”,w
对应于“写入”,x
表示“执行”。
为了更好地了解它的工作原理,请查看此权限列表。
-rwxr-xr--
在本例中,它是一个常规文件。所有者可以读取、写入和执行该文件。该组可以读写。所有其他用户只能阅读它。
看一下目录。
drwxr-xr-x
默认情况下,该目录中的文件可由所有者读取、写入和执行。该组和其他任何人都可以读取和执行。
更改权限
chmod
实用程序可以更改文件和文件夹的权限。您需要拥有这些文件才能使用 chmod
更改它们,除非您以 root 身份使用它或使用 sudo
。
chmod
使用 u
、g
和 o
选项来更改所属用户、组和其他人分别。看看它是如何工作的。
$ chmod g+w somefile.txt
上面的命令为该组添加了文件 somefile.txt
的写入权限。
chmod
还可以删除权限。
$ chmod o-wx somefile.txt
该命令删除其他用户的写入和执行权限。
您无需添加或减少即可获得所需的权限。您还可以将权限设置为您需要的权限。
$ chmod w=rx somefile.txt
还有一个 a
选项可同时将更改应用于所有组。
数字系统
除了使用字母来表示权限之外,Linux 还有一个数字系统可以简化该过程。系统为每个权限分配一个值。将数字相加即可得到该部分的总权限值。
r = 4
w = 2
x = 1
因此,要设置文件的权限,其中所有者具有完全权限,组具有读写权限,而其他人仅具有读取权限,可以使用以下linux命令。
$ chmod 764 somefile.txt
应用程序和网络托管服务经常使用数字系统,因为它比字母更简洁。看看这个常见的例子:
$ chmod 755 something.php
在许多情况下,您只希望所有者写入文件,但 Web 服务器能够读取和执行该文件。
结束语
一旦你牢牢掌握了 Linux 权限,你就可以有效地控制对系统上所有文件和目录的访问。您可以提高安全性并阻止用户犯下潜在有害的错误。