Linux 系统的文件权限 (5) MASK 和 UMASK 权限

前面我们在使用 getfacl 的时候, 看到过文件的 MASK 值, 如果你执行 umask 命令, 会返回一个 4 位的八进制数据是文件的 UMASK 值.

MASK 的作用

MASK 权限,指的是用户或群组能拥有的最大 ACL 权限. 也就意味着 ACL 分配的权限如果超出 MASK 权限的部分则是无效的.

ACL 分配权限与 MASK 权限取交集后, 是用户真实的权限.

UMASK 值的作用

umask 就是用户在创建文件的时候, 赋予的默认权限差值, 每个用户不同, root 默认是 0022, 普通用户默认是 0002.

这个数字是什么意思呢, 其实和文件 rwx 权限一样, 但是这个权限是一个过滤权限, 就是创建的文件或文件夹, 默认不包含这个权限.

文件(或目录)的初始权限 = 文件(或目录)的最大默认权限 - umask 权限

文件的默认最大权限应该是 0666, 文件夹的默认最大权限是 0777.

例如:

用户 root 以 umask 值 0022 创建文件的默认权限为 0644 = 0666 - 0022 = -rw-r--r--, 创建文件夹的默认权限为 0755 = 0777 - 0022 = drwxr-xr-x.

普通用户以 umask 值 0002 创建文件的默认权限为 0664 = 0666 - 0002 = -rw-rw-r--, 创建文件夹的默认权限为 0775 = 0777 - 0002 = drwxrwxr-x.

查看与修改 umask 值

1
2
3
4
# 查看
umask
# 修改
umask 033

MASK 与 UMASK

MASK 是 ACL 分配权限的上限. UMASK 是最大默认权限默认扣除的部分.

Donate - Support to make this site better.
捐助 - 支持我让我做得更好.