百度
360搜索
搜狗搜索

linux中chmod命令的八进制详细介绍

在 Linux 中,chmod 命令的八进制模式是通过三位(或四位)八进制数字来设置文件或目录的权限,每个数字对应一类用户的权限组合。以下是详细说明:

一、八进制权限的基本结构

八进制模式由 3 个数字组成,格式为 chmod XXX 文件名,分别对应:

  1. 第 1 位数字:所有者(Owner,u)的权限
  2. 第 2 位数字:所属组(Group,g)的权限
  3. 第 3 位数字:其他用户(Others,o)的权限

每个数字由 ** 读(r)、写(w)、执行(x)** 三种权限的组合计算而来,对应关系为:

  • r(读)= 4(二进制 100
  • w(写)= 2(二进制 010
  • x(执行)= 1(二进制 001
  • 0(无权限)= 0(二进制 000

将权限对应的数值相加,得到每个用户组的八进制数字。

二、常见权限组合示例

权限字符串(rwx) 计算方式 八进制数字
---(无权限) 0+0+0=0 0
--x(仅执行) 0+0+1=1 1
-w-(仅写入) 0+2+0=2 2
-wx(写入 + 执行) 0+2+1=3 3
r--(仅读取) 4+0+0=4 4
r-x(读取 + 执行) 4+0+1=5 5
rw-(读取 + 写入) 4+2+0=6 6
rwx(全部权限) 4+2+1=7 7

三、使用示例

  1. 设置文件所有者可读可写可执行,组和其他用户可读可执行
    bash
      文件名

    • 所有者(u):rwx(7)
    • 组(g):r-x(5)
    • 其他用户(o):r-x(5)

  2. 设置目录所有者可读可写,组和其他用户仅可读
    bash
      目录名

    • 所有者(u):rw-(6)
    • 组(g):r--(4)
    • 其他用户(o):r--(4)

  3. 添加特殊权限(四位八进制模式)
    若需设置 setuid(SUID)、setgid(SGID)、粘滞位(Sticky Bit),需使用四位八进制数字,格式为 chmod XXXX 文件名,其中第一位代表特殊权限:

    • SUID(对所有者生效)= 4
    • SGID(对组生效)= 2
    • 粘滞位(对其他用户生效)= 1
      例如,设置文件具有 SUID 且权限为 rwxr-xr-x

    bash

      文件名

四、总结

  • 核心逻辑:每个八进制数字对应一类用户的权限(r/w/x 分别为 4/2/1,相加得到数字)。
  • 三位模式chmod ABC 文件名,其中 A(所有者)、B(组)、C(其他用户)分别为 0-7 的数字。
  • 四位模式:用于设置特殊权限(如 SUID/SGID/粘滞位),第一位表示特殊权限,后三位同普通权限。

通过八进制模式,可快速、精确地设置文件或目录的权限,是脚本和自动化操作中的常用方法。

阅读更多 >>>  手机变焦什么意思

文章数据信息:

本文主要探讨:"linux中chmod命令的八进制", 浏览人数已经达到32次, 首屏加载时间:0.993 秒。