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是修改权限的命令,支持两种常用方式:符号法:直观表达“谁+做什么”,例如: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,依然无法执行。
Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载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)。
