接入服务商网站备案管理系统技术规范要求表白网站在线制作app
2026/1/1 10:00:37 网站建设 项目流程
接入服务商网站备案管理系统技术规范要求,表白网站在线制作app,北京网站优化校学费,外卖网站建设文档一、简介#xff1a;为什么除了 chmod 还要学 ACL#xff1f;传统权限 33 模型#xff08;user/group/other#xff09;够用吗#xff1f;同一目录下#xff0c;多部门共享 → 需要第 4 组、第 5 组不同权限。文件服务器 → 某些用户只读#xff0c;某些用户可写#x…一、简介为什么除了 chmod 还要学 ACL传统权限 3×3 模型user/group/other够用吗同一目录下多部门共享→ 需要第 4 组、第 5 组不同权限。文件服务器 → 某些用户只读某些用户可写但不能改属组。Docker 卷映射 → 容器内 UID 与宿主机不一致chmod 777 太粗暴。ACLAccess Control List给文件/目录再打“补丁权限”不改动原属主/属组支持单用户、单组独立授权可继承。掌握getfacl/setfacl让 Linux 权限真正“随心所欲”。二、核心概念5 个名词先搞懂名词一句话示例ACL 条目一条权限规则 类型 名称 权限user:alice:rw-Access ACL文件的 ACL仅作用自身-rw-r--r--见号Default ACL目录的默认 ACL新文件自动继承default:user:bob:r--mask上限掩码决定最大有效权限除 owner/othermask::rwxACL 类型u用户、g组、m掩码、o其他setfacl -m u:alice:rw file口诀看到号 文件带 ACLgetfacl一目了然。三、环境准备3 分钟搭好“ACL 实验室”1. 系统要求内核 ≥ 2.6CentOS 6/Ubuntu 12 均满足文件系统支持ext4、xfs、btrfs、tmpfs ✅fat32、exfat ❌挂载选项默认已启 ACL如未启手动加mount -o remount,acl /2. 检查与启用可复制# 查看分区是否支持 ACL tune2fs -l /dev/sda1 | grep -i acl # ext4 看到 Default mount options: acl mount | grep acl # 无输出也正常现代发行版默认开启 # 若未启用临时开启 sudo mount -o remount,acl / # 永久开启编辑 /etc/fstab 在对应行加 ,acl 然后 remount3. 实验账号一次性创建sudo groupadd sales sudo groupadd tech sudo useradd -G sales alice sudo useradd -G tech bob echo 123456 | sudo passwd --stdin alice # CentOS echo -e 123456\n123456 | sudo passwd alice # Ubuntu四、命令与示例由浅入深 6 大关卡所有命令可直接复制在~/acl-lab目录执行。mkdir -p ~/acl-lab cd ~/acl-lab4.1 基本语法setfacl / getfacl 速查功能命令模板示例添加/修改setfacl -m 条目 路径setfacc -m u:alice:rw file删除单条setfacl -x 条目 路径setfacl -x u:alice file清空所有setfacl -b 路径setfacl -b file查看getfacl 路径getfacl file4.2 文件级 ACL给单用户开小灶# 1. 创建测试文件 echo Salary 2025 salary.txt chmod 640 salary.txt # 传统权限ownerrw, groupr, other0 # 2. 让 alice非属主也能读 setfacl -m u:alice:r-- salary.txt # 3. 验证 getfacl salary.txt # 输出 # user::rw- # user:alice:r-- ← 新增条目 # group::r-- # mask::r-- # other::---场景财务文件不能让 alice 改属组又要给她只读。4.3 目录级 ACL 默认继承多部门共享# 1. 创建共享目录 sudo mkdir -p /srv/shared sudo chown root:sales /srv/shared sudo chmod 770 /srv/shared # 2. 技术组 tech 需要读写 sudo setfacl -m g:tech:rwx /srv/shared # 3. 设置默认 ACL**以后新建文件自动继承** sudo setfacl -d -m g:tech:rwx /srv/shared sudo setfacl -d -m u:alice:rw- /srv/shared # 4. 验证 touch /srv/shared/newfile.txt getfacl /srv/shared/newfile.txt # 看到 default: 条目已复制为 Access ACL结果无论谁在哪创建文件tech组始终rwxalice始终rw-。4.4 mask 演示别被“上限”坑了setfacl -m u:alice:rwx file chmod 640 file # 传统思维group 从 rw- → r-- getfacl file # 输出 # user:alice:rwx # 有效 rwx # mask::r-- # ← 被 chmod 同步缩小 # 实际 alice 只有 r-- mask 拦截结论chmod会自动同步 mask想保留完整 ACL用setfacl -n禁止 mask 重算。4.5 备份与还原 ACL批量迁移必备# 1. 导出 getfacl -R /srv/shared shared.acl # 2. 复制到目标机 rsync -av /srv/shared remote:/srv/ rsync shared.acl remote:/tmp/ # 3. 远端还原 ssh remote cd /srv setfacl --restore/tmp/shared.acl场景文件服务器整机迁移权限零丢失。4.6 一键脚本自动给网站目录加“运维只读”#!/bin/bash # script: web_acl.sh WWW/var/www/html OPS userops1 # 运维账号只读 setfacl -R -m u:${OPS user}:r-X $WWW # 默认继承 setfacl -R -d -m u:${OPS user}:r-X $WWW echo OPS 只读 ACL 完成保存后chmod x web_acl.sh sudo ./web_acl.sh运维审计再也不怕误改。五、常见问题与解答FAQ问题现象解决setfacl: Operation not supported文件系统在 FAT32换 ext4/xfs或 mountgrep acl 确认chmod 000 file后 alice 还能读能ACL 不受 other 影响如要禁用用setfacl -b file再 chmodcp file newfileACL 消失默认 cp 不保留用cp --preserveacl file newfilemv会丢 ACL 吗同分区内保留跨分区丢失跨分区用tar --acls或rsync -A查看大量目录眼花一行太长getfacl -cp /dirgrep -v ^# 去注释六、实践建议与最佳实践约定大于配置共享目录统一放/srv/部门名默认 ACL 模板化新人 1 分钟上手。权限最小化先给r-X目录执行位确需写再单独加w。定期审计getfacl -R /srv acl_$(date %F).backupGit 保存差异一目了然。与 chmod 混用顺序先 chmod 设基础再 setfacl 打补丁避免 mask 误杀。容器场景Docker 卷加 ACL 需宿主机同样支持挂载时加:Z不会清 ACLSELinux 标签另论。nfs 导出服务端/etc/exports加no_acl会强制禁用记得删除以保留 ACL。七、总结一张脑图带走全部要点Linux ACL ├─ 命令setfacl / getfacl / -m / -x / -b / -d ├─ 对象文件 Access ACL 目录 Default ACL ├─ 条目u:用户 g:组 m:mask o:other ├─ 场景多部门共享、运维审计、容器卷 └─ 最佳模板化 审计 tar --acls 迁移掌握 ACL你就拥有了比 chmod 更细的权限粒度不改属主/属组也能灵活授权多用户、多部门共享时的“免争吵”方案备份迁移、容器、NFS 全场景零权限丢失的底气立刻打开终端输入setfacl -m u:$USER:rw .给你的第一个文件打上 ACL 补丁——真正的“权限自由”从这里开始

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询