Linux中的umask权限掩码
权限掩码#
umask为用户文件创建掩码,是创建文件或文件夹时默认权限的基础。通常我们可以使用chmod修改linux中文件的权限。umask的作用与chmod的效果相反,具体看下面。
若没有文件掩码时,文件的默认权限为0666,文件夹的默认权限为0777。
- 第一位代表特殊权限(suid:4、sgid:2、sbit:1),不是八进制的意思。一般将其设置为0,即系统默认。
- 创建文件一般是用来读写,所以默认情况下所有用户都具有读写权限,但是没有可执行权限,所以文件创建的默认权限为0666
- 而文件夹的x权限表示的是打开权限,所以这个权限必须要有,所以文件夹的默认权限为0777。
权限掩码作用#
上述的权限是在没有umask情况下的默认权限。但是系统为了保护用户创建文件和文件夹的权限,会有一个默认的用户掩码(umask),用户掩码的作用是用户在创建文件时从文件的默认权限中去除掩码中的权限。大多数的Linux系统的默认掩码为0022。
所以文件创建之后的权限实际为: 默认权限(文件0666,文件夹0777) - umask
所以在用户不修改umask的情况下,创建文件的权限为:0666-0022=0644。创建文件夹的权限为:0777-0022=0755
查看与修改默认掩码#
查看用户掩码:
#以数字方式查看掩码
umask
# 以符号形式查看掩码
umask -S
可以使用umask命令直接修改掩码。
umask 0000
上述方法修改的掩码只在当前tty(终端)中生效.若要全局生效, 可以将umask值写在/etc/profile或者.bashrc中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南