linux中 umask 命令

Umask

Umask(User File Creation Mode Mask)是Linux系统中的一项命令,用于设定新创建文件和目录的默认权限。

一、umask的作用

Umask通过掩码操作,限制新文件和目录的访问权限。在Linux中,所有的文件和目录都被分配了一组默认权限。新文件的默认权限通常为666(即所有用户都有读和写权限,但没有执行权限),而新目录的默认权限通常为777(即所有用户都有读、写和执行权限)。然而,实际创建文件或目录时,Umask会从这些默认权限中"减去"特定的权限,以限制文件或目录的访问权限。

二、umask的工作原理

Umask是一个三位的八进制数字,每一位都对应着不同的权限设置。每个数字表示文件或目录的权限掩码,可以用来"屏蔽"掉默认权限中的某些权限。例如,Umask 022会从默认权限中减去写权限(对于其他用户),因此新文件的权限会被设置为644(用户具有读/写权限,其他用户仅具有读权限),而新目录的权限会被设置为755(用户具有读/写/执行权限,其他用户具有读/执行权限)。

三、查看和修改umask值

  1. 查看当前umask值:
    可以在终端中直接输入umask命令,然后按Enter键,系统将以八进制方式显示当前的umask值。
    也可以使用umask -S命令以符号方式显示当前的umask值,例如u=rwx,g=rx,o=rx。
  2. 修改umask值:
    可以使用umask [mode]命令来设置新的umask值,其中[mode]是一个三位八进制数,表示新的权限掩码。
    要永久更改umask值,可以编辑bash配置文件(如.bashrc或.profile),在文件中添加umask [mode]命令,然后保存文件并重新加载配置文件(使用source命令)。

四、umask值的计算

假设Umask值为022,如何计算文件和目录的权限呢?

文件权限 :默认权限为666(文件的最大权限),Umask 022代表减去"写权限"(对于其他用户)。因此,结果:666 - 022 = 644(即rw-r--r--)。
目录权限:默认权限为777(目录的最大权限),Umask 022代表减去"写权限"(对于其他用户)。因此,结果:777 - 022 = 755(即rwxr-xr-x)。

相关推荐
鹿角片ljp2 分钟前
Java网络编程入门:从Socket到多线程服务器
java·服务器·网络
真的想上岸啊7 分钟前
4、修改开发板内核启动日志级别
linux
汽车仪器仪表相关领域8 分钟前
全程高温伴热,NOx瞬态精准捕捉:MEXA-1170HCLD加热型NOx测定装置项目实战全解
大数据·服务器·网络·人工智能·功能测试·单元测试·可用性测试
Hoxy.R9 分钟前
海量数据库安装部署初体验
服务器·网络·数据库
RisunJan11 分钟前
Linux命令-kill(向进程发送信号的核心命令)
linux·运维·服务器
橙露15 分钟前
嵌入式实时操作系统 FreeRTOS:任务调度与信号量的核心应用
java·大数据·服务器
愚公移码15 分钟前
蓝凌EKP产品:关联机制浅析
java·服务器·前端
物理与数学24 分钟前
linux内核 页缓存的脏页管理
linux·linux内核
WilliamHu.38 分钟前
Windows 环境下使用 Docker 成功部署 Dify(完整实战记录)
运维·docker·容器
范纹杉想快点毕业1 小时前
嵌入式工程师一年制深度进阶学习计划(纯技术深耕版)
linux·运维·服务器·c语言·数据库·算法