Linux umask 命令详解

简介

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的值 文件权限 目录权限 用例
000 666 777 向所有人开放
022 644 755 大多数用户的默认设置
027 640 750 中度限制
077 600 700 限制性极强
posted on 2024-12-09 21:11  我是唐青枫  阅读(754)  评论(0)    收藏  举报