插件窝 干货文章 linux chmod权限含义是什么

linux chmod权限含义是什么

权限 所有者 文件 chmod 96    来源:    2025-05-14

在Linux系统中,chmod(change mode)命令用于修改文件或目录的权限。权限分为三类用户角色,每种角色对应不同的权限类型,具体含义如下:


1. 用户角色

  • u (user/owner):文件所有者(创建文件的用户)。
  • g (group):文件所属组的成员。
  • o (others):其他用户(既不是所有者,也不在所属组)。
  • a (all):所有用户(等价于 u+g+o)。

2. 权限类型

每种角色可以分配以下权限: - r (read):读取权限。 - 文件:可查看内容(如 catless)。 - 目录:可列出目录内容(如 ls)。 - w (write):写入权限。 - 文件:可修改内容。 - 目录:可创建、删除、重命名目录内的文件。 - x (execute):执行权限。 - 文件:可执行(如脚本、程序)。 - 目录:可进入(如 cd)或访问子内容。


3. 权限表示方法

符号模式(字母表示)

语法:chmod [角色][+/-][权限] 文件名
示例:

chmod u+x script.sh    # 给所有者添加执行权限
chmod g-w file.txt     # 移除所属组的写入权限
chmod o=r file.txt     # 其他用户仅保留读取权限
chmod a+r file.txt     # 所有用户添加读取权限

数字模式(八进制表示)

权限用3位八进制数表示,每位对应 r=4w=2x=1(和为权限值):
- 第一位:所有者权限
- 第二位:所属组权限
- 第三位:其他用户权限

示例:

chmod 755 script.sh    # 所有者:rwx(7),组:r-x(5),其他:r-x(5)
chmod 644 file.txt     # 所有者:rw-(6),组:r--(4),其他:r--(4)

4. 特殊权限(扩展)

  • SUID (4):以文件所有者身份执行(如 chmod 4755)。
  • SGID (2):目录内新建文件继承组权限(如 chmod 2770)。
  • Sticky Bit (1):仅文件所有者可删除目录内文件(如 /tmp1777)。

常见场景示例

  1. 赋予脚本执行权限bash chmod +x myscript.sh # 所有用户可执行
  2. 保护敏感文件bash chmod 600 ~/.ssh/id_rsa # 仅所有者可读写
  3. 共享目录给组用户bash chmod 770 /shared_dir # 所有者和组可读写执行

注意事项

  • 修改权限需要当前用户是文件所有者或root。
  • 目录权限影响其内部文件的操作(如无 x 权限则无法 cd)。
  • 使用 ls -l 查看权限,输出如 -rwxr--r-- 对应 u=rwx, g=r, o=r

通过合理设置权限,可以保障系统安全性和协作需求。