插件窝 干货文章 Unix与Linux文件权限的含义是什么

Unix与Linux文件权限的含义是什么

权限 文件 目录 所有者 979    来源:    2025-04-24

Unix/Linux 文件权限详解

基本概念

Unix和Linux系统中的文件权限是系统安全的基础机制,它控制着用户对文件和目录的访问级别。权限系统基于三个基本组成部分:

  1. 用户(Owner):文件或目录的所有者
  2. 组(Group):文件所属的用户组
  3. 其他(Others):既不是所有者也不在所属组的其他用户

权限类型

每个文件或目录有三种基本权限:

  1. 读(r)

    • 文件:允许查看文件内容
    • 目录:允许列出目录内容
  2. 写(w)

    • 文件:允许修改文件内容
    • 目录:允许在目录中创建、删除或重命名文件
  3. 执行(x)

    • 文件:允许作为程序执行
    • 目录:允许进入目录(即可以使用cd命令进入)

权限表示方式

符号表示法

使用字母表示权限,如 rwxr-xr--: - 前三位(rwx):所有者权限 - 中间三位(r-x):组权限 - 最后三位(r--):其他用户权限 - - 表示没有该权限

数字表示法

用三位八进制数表示权限: - 4 = 读(r) - 2 = 写(w) - 1 = 执行(x) - 0 = 无权限

将所需权限的数字相加: - 7 (4+2+1) = rwx - 6 (4+2+0) = rw- - 5 (4+0+1) = r-x - 4 (4+0+0) = r-- - 等等

例如 755 表示: - 所有者:rwx (7) - 组:r-x (5) - 其他:r-x (5)

特殊权限

除了基本权限外,还有三个特殊权限位:

  1. Set User ID (SUID) (s):

    • 文件执行时以文件所有者的权限运行
    • 数字表示为4,放在权限数字前,如4755
  2. Set Group ID (SGID) (s):

    • 对于文件:以文件所属组的权限运行
    • 对于目录:在该目录下创建的文件继承目录的组
    • 数字表示为2,放在权限数字前,如2755
  3. Sticky Bit (t):

    • 主要应用于目录,只有文件所有者才能删除或重命名该目录下的文件
    • 常见于/tmp目录
    • 数字表示为1,放在权限数字前,如1777

查看权限

使用 ls -l 命令查看文件权限:

-rwxr-xr-- 1 user group 4096 Jan 1 10:00 file.txt
drwxr-xr-x 2 user group 4096 Jan 1 10:00 directory

第一个字符表示文件类型: - - 普通文件 - d 目录 - l 符号链接 - 其他字符表示特殊文件类型

修改权限

  1. chmod:更改文件权限

    • 符号模式:chmod u+x file (给所有者添加执行权限)
    • 数字模式:chmod 755 file (设置为rwxr-xr-x)
  2. chown:更改文件所有者

    • chown user:group file (同时更改所有者和组)
    • chown user file (仅更改所有者)
  3. chgrp:更改文件所属组

    • chgrp group file

默认权限

新创建文件的默认权限由umask值决定: - umask 命令显示当前掩码 - umask 022 设置新掩码 - 实际权限 = 最大权限 & ~umask

例如umask为022时: - 文件默认权限:666 & ~022 = 644 (rw-r--r--) - 目录默认权限:777 & ~022 = 755 (rwxr-xr-x)

理解并正确设置文件权限是Linux系统管理的重要基础,也是系统安全的关键因素之一。