umask 是用于控制新创建文件或目录默认权限的掩码值,它通过屏蔽部分权限来影响最终的访问控制。其作用是告诉系统在创建新文件或目录时应去除哪些权限,默认情况下文件最大权限为 666,目录为 777,系统会从最大权限中减去 umask 值以得到实际权限。例如 umask 022 时,文件权限为 644(rw-r–r–),目录权限为 755(drwxr-xr-x)。可通过在终端输入 umask 查看当前值,使用 umask -s 可查看符号表示。临时修改可在终端输入 umask 加数值,永久设置则需修改用户的 shell 配置文件如 .bashrc 或 /etc/profile。umask 使用八进制数表示,每一位分别代表屏蔽 user、group 和 others 的权限,其中 0 表示无屏蔽,1 屏蔽执行,2 屏蔽写,4 屏蔽读。常见 umask 示例包括:022(屏蔽 group 和 others 的写权限)、002(仅屏蔽 others 写权限)、077(屏蔽 group 和 others 所有权限)、007(屏蔽 others 所有权限)。

在 Linux 系统中,每个用户创建文件或目录时,默认都会有一定的权限设置。而这些默认权限是可以通过 umask 值来控制的。简单来说,umask 是用来屏蔽掉某些默认权限的掩码值,从而影响新创建文件和目录的实际权限。

什么是 umask?
umask 的作用是告诉系统,在创建新文件或目录的时候,哪些权限应该被“屏蔽”掉。它不会直接设定权限,而是通过减法操作影响最终结果。

比如:
默认情况下,文件的最大权限是
666(rw-rw-rw-)
目录的最大权限是
777(rwxrwxrwx)
当设置了 umask 值之后,系统会从最大权限中减去 umask 所代表的权限,得到用户实际拥有的默认权限。

举个例子:
如果 umask 设置为
022
,那么:
文件权限 = 666 – 022 = 644 →
-rw-r--r--
目录权限 = 777 – 022 = 755 →
drwxr-xr-x
如何查看当前用户的 umask 值?
你可以在终端中直接输入以下命令查看当前用户的 umask 值:
umask
输出可能是类似这样的数字:
0022
或
0002
。
如果你希望看到带有符号表示的 umask(比如 u=rwx,g=rwx,o=),可以加上
-S
参数:
umask -S
如何临时修改 umask 值?
你可以直接在终端中输入:
umask 027
这会将当前会话的 umask 设置为
027
,意味着新创建的文件和目录权限会基于这个值重新计算。
创客贴设计
创客贴设计,一款智能在线设计工具,设计不求人,AI助你零基础完成专业设计!
51 查看详情
注意:这种方式只对当前终端会话有效,关闭窗口后失效。
如何永久设置 umask 值?
如果你希望某个用户每次登录时都使用特定的 umask 值,可以修改该用户的 shell 配置文件。常见的配置文件包括:
~/.bashrc
或
~/.bash_profile
(针对 bash 用户)
/etc/profile
或
/etc/bash.bashrc
(影响所有用户)
例如,在用户家目录下的
.bashrc
文件中添加:
umask 027
保存后运行:
source ~/.bashrc
这样就可以立即生效,并且每次登录都会自动应用这个 umask 值。
umask 的数值怎么算?
umask 使用的是八进制数值,每一位分别对应不同用户组的权限屏蔽位:
0没有屏蔽权限1屏蔽执行权限2屏蔽写权限4屏蔽读权限
三位 umask 数字分别代表:
第一位:屏蔽所有者(user)的权限第二位:屏蔽所属组(group)的权限第三位:屏蔽其他用户(others)的权限
举几个常见 umask 示例:
022
:group 和 others 都去掉写权限
002
:仅 others 去掉写权限
077
:group 和 others 去掉所有权限
007
:others 去掉所有权限
小结
umask 的设置并不复杂,但理解它的原理能帮助你更好地控制新建文件和目录的安全性。只要根据自己的安全需求选择合适的 umask 值,并在合适的位置进行配置,就能轻松实现权限管理。
基本上就这些了。
以上就是Linux如何设置用户的默认权限 umask值设置与计算方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/448734.html
微信扫一扫
支付宝扫一扫