温馨提示×

Ubuntu文件系统如何配置权限

小樊
44
2026-08-23 19:05:35
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 系统)中,文件系统权限主要通过 用户、用户组、权限位(rwx)、以及 特殊权限(SUID/SGID/Sticky) 来管理。下面从基础到进阶系统讲解。


一、Linux 权限基础概念

1. 三类用户

  • u(user):文件所有者
  • g(group):所属用户组
  • o(others):其他用户
  • a(all):所有用户

2. 三种权限

权限 含义 文件 目录
r 查看内容 列出目录
w 修改内容 创建/删除文件
x 执行 执行程序 进入目录

二、查看文件权限

ls -l

示例:

-rwxr-xr-- 1 alice devs 2048 test.sh

解释:

  • -:普通文件
  • rwx:所有者权限
  • r-x:用户组权限
  • r--:其他人权限
  • alice:所有者
  • devs:所属组

三、修改权限(chmod)

1. 数字方式(最常用)

chmod 755 file

权限含义:

  • 7 = rwx
  • 5 = r-x
  • 4 = r–

常见组合:

权限 含义
644 普通文件
755 可执行文件 / 目录
700 仅自己可访问

2. 符号方式

chmod u+x file      # 给所有者加执行权限
chmod g-w file      # 去掉组写权限
chmod o=r file      # 其他人只读
chmod a+r file      # 所有人可读

四、修改所有者和用户组(chown)

1. 修改所有者

sudo chown user file

2. 修改所有者和组

sudo chown user:group file

3. 递归修改目录

sudo chown -R www-data:www-data /var/www

五、修改用户组(chgrp)

sudo chgrp devs file

六、目录权限的特殊性

目录必须有 x 权限才能进入

chmod 700 dir

常见目录权限

场景 权限
个人目录 700
Web 目录 755
共享目录 775

七、特殊权限(进阶)

1. SUID(4)

  • 程序以所有者身份运行
chmod 4755 /usr/bin/passwd

2. SGID(2)

  • 目录下新建文件继承组
chmod 2775 dir

3. Sticky Bit(1)

  • 只有文件所有者能删除
chmod 1777 /tmp

八、默认权限与 umask

查看 umask

umask

设置默认权限

umask 022   # 默认 755 / 644
umask 027   # 更安全

九、ACL(更细粒度权限)

1. 设置 ACL

setfacl -m u:bob:rwx file

2. 查看 ACL

getfacl file

3. 删除 ACL

setfacl -x u:bob file

十、常见安全建议

✅ Web 目录:

sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www

✅ 禁止普通用户访问:

chmod 700 private_dir

✅ 避免 777(除非临时)

chmod 777   # ❌ 不安全

十一、总结速查表

ls -l              # 查看权限
chmod 755 file     # 改权限
chown user:group file  # 改所有者
chmod +x script    # 加执行权限
chmod 1777 /tmp    # 粘滞位

如果你有具体场景(如:Web 服务器、Docker、多用户共享目录、NFS、Samba 等),可以告诉我,我可以给你针对性的权限配置方案

0