Linux文件权限详解

Linux文件权限教程

Linux 中文件权限最常见的有 3 种,即对文件的读权限(用 r 表示)、写权限(用 w 表示)和执行权限(用 x 表示,针对可执行文件或目录)。

Linux文件权限详解

定义

在 Linux 系统中,每个文件都明确规定了不同身份用户的访问权限,通过 ls 命令即可看到。

除此之外,我们有时会看到 s(针对可执行文件或目录,使文件在执行阶段,临时拥有文件所有者的权限)和 t(针对目录,任何用户都可以在此目录中创建文件,但只能删除自己的文件),文件设置 s 和 t 权限,会占用 x 权限的位置。

语法

ls -l file

案例

我们首先,使用 touch 命令,创建一个文件 haicoder.txt,具体命令如下:

touch haicoder.txt

运行后,终端输出如下:

25_Linux文件权限详解.png

现在,我们使用 ls 命令,查看该文件的权限,具体命令如下:

ls -l haicoder.txt

运行后,终端输出如下:

26_Linux文件权限详解.png

我们看到,第一列表示的就是文件针对不同用户设定的权限,一共 11 位,但第 1 位用于表示文件的具体类型,最后一位此文件受 SELinux 的安全规则管理。

因此,为文件设定不同用户的读、写和执行权限,仅涉及到 9 位字符,我们这里的访问权限是 -rw-r–r--,各权限位的含义如下图所示:

27_Linux文件权限详解.png

从图中可以看到,Linux 将访问文件的用户分为 3 类,分别是文件的所有者,所属组(也就是文件所属的群组)以及其他人。除了所有者,以及所属群组中的用户可以访问文件外,其他用户(其他群组中的用户)也可以访问文件,这部分用户都归为其他人范畴。

很显然,Linux 系统为 3 种不同的用户身份,分别规定了是否对文件有读、写和执行权限。以上面的权限来说,文件所有者拥有对文件的读和写权限,但是没有执行权限;所属群组中的用户只拥有读权限,也就是说,这部分用户只能读取文件内容,无法修改文件;其他人也是只能读取文件。

Linux文件权限详解总结

Linux 中文件权限最常见的有 3 种,即对文件的读权限(用 r 表示)、写权限(用 w 表示)和执行权限(用 x 表示,针对可执行文件或目录)。