如何修改文件权限 chmod数字符号模式

chmod命令的数字模式通过三位或四位八进制数设置权限;1. 每位数字对应用户(owner)、组(group)、其他用户(others)的权限,由r=4、w=2、x=1相加得出;2. 常见组合如7(rwx)、6(rw-)、5(r-x)、4(r–)、0(—);3. 例如chmod 755 file表示所有者有读写执行权限,组和其他人有读和执行权限;4. 特殊权限位为四位数时使用,4代表suid、2代表sgid、1代表sticky bit;5. 使用ls -l可查看权限,修改时需确保数字在0-7之间并注意安全性,理解权限数值规则后设置直观高效。

如何修改文件权限 chmod数字符号模式

linux 系统中,

chmod

命令用于修改文件或目录的权限。权限可以通过两种方式设置:数字符号模式(也叫八进制模式)符号模式(如 u+rwx)。本文重点介绍如何使用 数字符号模式(即数字方式) 来修改文件权限。


一、理解 chmod 数字模式的原理

在数字模式中,权限用三位或四位的八进制数表示,每一位代表不同用户类别的权限:

  • 用户(Owner)
  • 组(Group)
  • 其他用户(Others)

每个类别的权限由三个基本权限组合而成:

权限 读(r) 写(w) 执行(x)
数值 4 2 1

将权限对应的数值相加,即可得到该类用户的权限数字。

例如:

  • rwx

    = 4 + 2 + 1 = 7

  • rw-

    = 4 + 2 + 0 = 6

  • r-x

    = 4 + 0 + 1 = 5

  • r--

    = 4 + 0 + 0 = 4


二、常见权限数字组合示例

数字 权限 说明
7 rwx 可读、可写、可执行
6 rw- 可读、可写,不可执行
5 r-x 可读、不可写、可执行
4 r– 只读
0 无权限

因此,三位数字分别代表:

  • 第一位:文件所有者的权限(user)
  • 第二位:所属组的权限(group)
  • 第三位:其他用户的权限(others)

例如:

chmod 755 filename

表示:

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

三、实际使用示例

假设你有一个脚本文件

backup.sh

,希望:

  • 自己(所有者)可以读、写、执行
  • 组内用户可以读和执行
  • 其他人只能读和执行

对应权限:

  • 所有者:rwx = 7
  • 组:r-x = 5
  • 其他:r-x = 5

执行命令:

chmod 755 backup.sh

再比如,一个配置文件

config.txt

,只允许所有者读写,组和其他人没有任何权限:

chmod 600 config.txt
  • 所有者:rw- = 6
  • 组:— = 0
  • 其他人:— = 0

四、特殊权限位(可选了解)

除了三位权限,有时会看到四位数字,如

chmod 4755

,第一位是特殊权限位:

  • 4 = SUID(执行时以文件所有者身份运行)
  • 2 = SGID(执行时以组身份运行,或目录中新文件继承组)
  • 1 = Sticky Bit(仅允许文件所有者删除自己的文件,常用于
    /tmp

例如:

chmod 4755 program

表示设置了 SUID,权限为

rwsr-xr-x

五、注意事项

  • 使用数字模式时,确保数字在 0-7 之间,否则会报错。

  • 修改权限时注意安全,不要随意给脚本或敏感文件赋予执行或写权限。

  • 可用

    ls -l

    查看当前权限:

    ls -l filename

    输出示例:

    -rwxr-xr-x 1 user group 1234 Apr 5 10:00 filename

基本上就这些。数字模式简洁高效,适合快速设置权限,理解了 r=4, w=2, x=1 的规则后,组合起来非常直观。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享