在 Ubuntu(Linux)中,“文件系统权限”通常涉及 文件/目录的访问权限、所有者、用户组,以及特殊权限。下面从基础到进阶给你梳理一下。
每个文件/目录都有三类使用者:
权限有三种:
示例:
ls -l
-rwxr-xr-- 1 alice dev 2048 Jun 10 10:00 test.sh
含义:
alice:所有者dev:所属组rwx:所有者可读写执行r-x:组用户可读执行r--:其他用户只读chmod 755 file
常见组合:
644:普通文件755:可执行文件 / 目录600:私有文件chmod u+x file # 给所有者加执行权限
chmod g-w file # 去掉组写权限
chmod o=r file # 其他用户只读
sudo chown alice file
sudo chown :dev file
sudo chown alice:dev file
sudo chown -R alice:dev /data
目录权限含义不同:
r:可列出目录内容w:可在目录中增删文件x:可进入目录(cd)⚠️ 没有 x 权限,即使有 r 也无法访问文件内容。
chmod 4755 file
passwdchmod 2755 dir
chmod 1777 /tmp
在 /etc/fstab 中可限制:
/dev/sdb1 /data ext4 defaults,noexec,nosuid,nodev 0 2
常用选项:
ro:只读noexec:禁止执行nosuid:忽略 SUIDnodev:禁止设备文件sudo apt install acl
setfacl -m u:bob:rwx file
getfacl file
❓ 权限不够
✅ 用 sudo 或修改权限/所有者
❓ 无法进入目录
✅ 检查是否有 x 权限
❓ Web 服务无法访问文件
✅ 通常是 www-data 用户权限或 SELinux/AppArmor 限制
如果你有具体场景(比如:共享目录、网站目录、Docker、NAS、U盘只读),我可以给你更针对性的配置方案。