0

0

如何设置默认文件权限 umask原理与计算方法

P粉602998670

P粉602998670

发布时间:2025-07-01 11:56:02

|

750人浏览过

|

来源于php中文网

原创

linux系统中新建文件或目录的默认权限由umask值控制,umask决定了创建文件时默认去掉哪些权限位。1. 文件的默认最大权限为666,目录为777;2. 实际权限等于最大权限减去umask值;3. umask以八进制表示,计算时需注意使用八进制运算;4. 可通过命令umask查看当前值,通过umask -s查看符号形式;5. umask可临时修改、对单个用户永久生效或全局设置;6. 常见umask取值包括002、022、077、007,分别适用于不同安全与协作场景;7. 设置合适的umask有助于提升系统的安全性与协作效率。

如何设置默认文件权限 umask原理与计算方法

Linux系统中,新建文件或目录的默认权限并不是固定的,而是由umask值控制的。简单来说,umask决定了你创建文件时默认去掉哪些权限位,所以理解umask的工作原理和计算方法,对于权限管理非常关键。

如何设置默认文件权限 umask原理与计算方法

umask的基本概念

umask是一个掩码值,用于屏蔽掉新创建文件或目录的部分权限。它不会直接影响已有文件,只影响新建的文件或目录。

如何设置默认文件权限 umask原理与计算方法
  • 文件的默认最大权限是666(即-rw-rw-rw-)
  • 目录的默认最大权限是777(即drwxrwxrwx)

当创建一个文件或目录时,系统会自动将对应的最大权限减去umask值,得到最终的实际权限。

举个例子:

如何设置默认文件权限 umask原理与计算方法
  • umask设为022
  • 创建一个文件:666 - 022 = 644 → -rw-r--r--
  • 创建一个目录:777 - 022 = 755 → drwxr-xr-x

需要注意的是,umask值是以“八进制”表示的,所以在设置或计算时不要用十进制来理解。


如何查看当前umask值

你可以直接在终端输入以下命令查看当前用户的umask值:

umask

输出结果通常是一串三位数,比如0022或者0002。前导的0可以忽略,实际有效的是后三位。

如果你想以符号形式查看umask(更直观地看到屏蔽了哪些权限),可以用:

umask -S

输出类似这样:

蝉镜
蝉镜

AI数字人视频创作平台,100+精品数字人形象库任您选择

下载
u=rwx,g=rx,o=rx

这说明用户权限不受限制,组和其他人的写权限被屏蔽了。


umask的设置方法

umask可以在不同层级进行设置,包括临时修改、对单个用户生效、或全局生效。

1. 临时修改(仅当前终端会话)

umask 022

这种方式适合测试或调试,关闭终端后失效。

2. 对单个用户永久生效

编辑用户家目录下的配置文件,如:

  • .bashrc.bash_profile(Bash用户)
  • .zshrc(Zsh用户)

添加一行:

umask 022

保存后执行 source ~/.bashrc 生效。

3. 全局设置(所有用户)

编辑 /etc/profile/etc/bash.bashrc,加入同样的语句:

umask 022

也可以通过PAM模块(如 /etc/login.defs)进行设置,适用于系统级账户创建时的默认umask。


umask常见取值及适用场景

umask 文件权限 目录权限 场景说明
002 664 775 多人协作项目,允许同组用户写入
022 644 755 默认安全设置,其他用户只读
077 600 700 安全性要求高,仅自己可访问
007 660 770 同组用户完全共享,其他人无权访问

选择合适的umask值,取决于你的使用环境和安全需求。例如,在开发服务器上可能希望团队成员能共同编辑文件,umask设为002就比较合适;而在生产环境中,umask设为022或更高安全性值更为稳妥。


小结

umask的核心作用是控制新建文件和目录的默认权限。它不是权限本身,而是“去掉哪些权限”。掌握umask的计算方式和设置方法,有助于更好地管理系统的安全性和协作性。
基本上就这些。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1343

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

698

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

293

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

772

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

571

2023.07.06

linux删除文件夹的方法
linux删除文件夹的方法

linux删除文件夹的方法:1、使用rm -r命令;2、使用rm -rf命令;3、使用find命令结合rm命令;4、使用图形界面。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

970

2024.02.23

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

544

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

295

2023.07.20

ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

27

2025.12.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 1.9万人学习

ThinkPHP6.x API接口--十天技能课堂
ThinkPHP6.x API接口--十天技能课堂

共14课时 | 1.1万人学习

微信小程序开发--云开发篇
微信小程序开发--云开发篇

共15课时 | 0.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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