Linux 文件系统权限复习笔记 一、特殊权限数字设置除基础 rwx 权限外Linux 还有 SUID、SGID、Sticky Bit 三大特殊权限支持字符、四位数字两种配置方式。1. 字符方式配置SUID属主特殊权限 开启chmod us 文件名/目录名取消chmod u-s 文件名/目录名SGID属组特殊权限 开启chmod gs 文件名/目录名取消chmod g-s 文件名/目录名Sticky Bit 粘滞位其他用户权限 开启chmod ot 目录名取消chmod o-t 目录名标识说明权限位显示s/t代表原有执行权限 x显示S/T代表无执行权限特殊权限不生效。2. 四位数字方式配置命令格式chmod 四位数字 文件名/目录名规则第一位为特殊权限位后三位为普通 u/g/o 基础权限表格特殊权限组合二进制数字无特殊权限0000Sticky Bit0011SGID0102SGID Sticky Bit0113SUID1004SUID Sticky Bit1015SUID SGID1106SUID SGID Sticky Bit1117示例chmod 4755 test4 代表开启 SUID755 为基础权限 rwxr-xr-x。二、ACL 访问控制列表1. 作用基础权限仅划分所有者、所属组、其他用户三类权限管控粒度粗。ACL 可针对指定单个用户 / 用户组单独设置权限实现精细化授权。 识别特征文件 / 目录权限末尾带有符号代表已配置 ACL。2. 核心命令查看 ACLbash运行getfacl 文件名/目录名设置与管理 ACLsetfacl表格参数功能-m添加 / 修改 ACL 权限-x删除单条指定用户 / 组的 ACL-b清空所有 ACL 权限-d为目录设置默认 ACL子文件 / 目录自动继承-k删除目录默认 ACL-R递归配置目录及内部文件常用语法bash运行# 给指定用户设置权限 setfacl -m u:用户名:权限 目标文件/目录 # 给指定用户组设置权限 setfacl -m g:组名:权限 目标文件/目录 # 删除单个用户 ACL setfacl -x u:用户名 目标 # 清空全部 ACL setfacl -b 目标3. mask 说明mask 是 ACL 的权限上限限制除文件所有者、other 之外所有 ACL 用户 / 组的最大可用权限。4. 实操案例需求目录/project归属 QQgroup 组额外给用户 pt 分配 r-x 权限bash运行# 创建组、用户并配置归属 groupadd QQgroup useradd zhangsan useradd lisi gpasswd -M zhangsan,lisi QQgroup chown root:QQgroup /project chmod 770 /project # 配置 ACL 权限 useradd pt setfacl -m u:pt:r-x /project三、权限掩码 umask1. 作用umask 用于控制新建文件、目录的默认权限。2. 权限计算规则实际默认权限 理论最大权限 - umask 值普通文件理论最大权限0666系统默认文件无执行权限目录理论最大权限0777目录必须拥有执行权限才可进入3. 基础操作bash运行# 查看当前 umask 值 umask # 临时修改仅当前终端生效 umask 掩码值 # 永久修改所有用户 vim /etc/profile # 文件末尾添加umask 掩码值 source /etc/profile # 永久修改仅当前用户 vim ~/.bashrc # 文件末尾添加umask 掩码值 source ~/.bashrc4. 随堂练习计算umask 077普通文件666 - 077 600 → 权限-rw-------110 110 110 文件初始 0666 111 000 000 取反后的 umask -------------------------------- 110 000 000目录777 - 077 700 → 权限drwx------111 111 111 目录初始 0777 111 000 000 取反后的 umask -------------------------------- 111 000 000umask 033普通文件666 - 033 644 → 权限-rw-r--r--110 110 110 文件初始 0666 111 100 100 取反后的 umask -------------------------------- 110 100 100目录777 - 033 744 → 权限drwxr--r--111 111 111 目录初始 0777 111 100 100 取反后的 umask -------------------------------- 111 100 100运算本质umask 是权限屏蔽码Linux 权限计算依靠二进制按位取反 按位与不是十进制数学减法。四、核心知识点速记ACL 权限用于对单独用户 / 组精细化授权查权限用getfacl配权限用setfacl -m清权限用setfacl -b。umask 掩码文件基准 666、目录基准 777通过减法计算默认权限区分临时修改、全局永久修改、个人永久修改三种方式。