首页 > 运维 > linux运维 > 正文

Linux如何设置用户的默认权限 umask值设置与计算方法

P粉602998670
发布: 2025-08-02 15:01:01
原创
942人浏览过

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值设置与计算方法

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

Linux如何设置用户的默认权限 umask值设置与计算方法

什么是 umask?

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

Linux如何设置用户的默认权限 umask值设置与计算方法

比如:

  • 默认情况下,文件的最大权限是
    666(rw-rw-rw-)
    登录后复制
  • 目录的最大权限是
    777(rwxrwxrwx)
    登录后复制

当设置了 umask 值之后,系统会从最大权限中减去 umask 所代表的权限,得到用户实际拥有的默认权限。

Linux如何设置用户的默认权限 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值设置与计算方法的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号