头图

简介

umask 命令设置用户创建的新文件和目录的默认权限。它决定在创建新文件或目录时不会设置(或屏蔽)哪些权限位。

文件和目录的默认权限:

  • 文件的默认权限:666,每个人都可以读写,没有执行位
  • 目录的默认权限:777,所有人都可以读、写、执行。

umask 作用就是从这些默认值中减去权限

示例用法

查看当前的 umask 的值

umask

# 示例输出:
0022

0 特殊位(如粘性位)
022 用户、组和其他人的掩码

设置 umask 的值为027

umask 027

文件的默认权限变为:640(666 - 027)

目录的默认权限变为:750(777 - 027)

为了权限永久生效,则需要写到配置文件中:

~/.bashrc 或 ~/.zshrc

设置 umask 的值为077

umask 077

文件的默认权限变为:600(仅所有者可读/写)

目录的默认权限变为:700(仅对所有者具有读/写/执行权限)

设置 umask 的值为002

umask 002

文件的默认权限变为:664(所有者和组可读写,其他人可只读)

目录的默认权限变为:775(所有者和组具有读/写/执行权限,其他人具有读/执行权限)

验证 umask 027 设置是否生效

touch testfile
mkdir testdir
ls -l

# 示例输出:
-rw-r----- 1 user group 0 Nov 29 10:00 testfile
drwxr-x--- 2 user group 4096 Nov 29 10:00 testdir

总结

umask的值文件权限目录权限用例
000666777向所有人开放
022644755大多数用户的默认设置
027640750中度限制
077600700限制性极强

唐青枫
12 声望2 粉丝