Linux文件权限由rwx三位构成,分属主、属组、其他三类主体共9位,对应八进制值421;chmod支持符号法(如u+x)和数字法(如754)修改;chown/chgrp管理归属;SUID、SGID、Sticky Bit为特殊权限位。

Linux文件权限的核心就是rwx三个字母,分别代表读(read)、写(write)、执行(execute)权限,它们按用户(user)、组(group)、其他(others)三类主体分组排列,共9位。理解这9位如何分组、对应谁、如何计算和修改,是管理文件安全的基础。
权限位的结构与含义
执行ls -l命令时,最左侧一列如-rwxr-xr--,共10个字符:
- 第1位表示文件类型(-为普通文件,d为目录,l为软链接等)
- 第2–4位(如rwx)是属主(user)权限
- 第5–7位(如r-x)是属组(group)权限
- 第8–10位(如r--)是其他用户(others)权限
每个位置上,r=4、w=2、x=1,无权限用-(即0),所以rwx=7,r-x=5,r--=4。这种数字表示法就是八进制权限值,比如754对应rwxr-xr--。
chmod:用符号法与数字法设置权限
chmod是修改权限的命令,支持两种常用方式:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
符号法:直观表达“谁+做什么”,例如:
chmod u+x script.sh —— 给属主增加执行权限
chmod go-w file.txt —— 去掉属组和其他用户的写权限
chmod a=r file.txt —— 所有人只有读权限(a = all = ugo) -
数字法:三位八进制数,每位分别对应u/g/o,例如:
chmod 644 file.txt → rw-r--r--(常见文件权限)
chmod 755 dir/ → rwxr-xr-x(常见可执行目录)
chmod 700 private.sh → rwx------(仅属主可读写执行)
chown与chgrp:配合权限管理身份归属
权限生效的前提是明确“你是谁”。即使文件有x权限,若你不是属主、也不在属组中,且others无x,依然无法执行。
- chown user:group file —— 同时改属主和属组,如chown alice:dev team_report.pdf
- chown :marketing doc/ —— 只改属组(冒号前空)
- chgrp admins backup.tar.gz —— 专用改组命令(效果同chown :admins)
注意:普通用户只能更改自己拥有的文件的属组(且自己必须属于目标组),而chown修改属主需root权限。
特殊权限位:SUID、SGID与Sticky Bit
除了基础rwx,还有三位隐藏权限位(位于u/g/o的x位置上),用s或t表示:
- SUID(u+s):设在属主x位,如-rwsr-xr-x。执行该文件时,进程以文件属主身份运行(典型如/usr/bin/passwd)
- SGID(g+s):设在属组x位,对文件作用类似SUID;对目录则让新创建的文件自动继承父目录的属组(便于协作)
- Sticky Bit(o+t):设在others x位,如drwxrwxrwt /tmp。在该目录下,用户只能删除自己创建的文件(防止互相误删)
设置方式:chmod u+s file、chmod g+s dir/、chmod +t /shared;数字法中SUID=4xxx、SGID=2xxx、Sticky=1xxx(如chmod 4755 = rwsr-xr-x)。

















