Linux之umask的使用

一、umask的作用

umask值用于设置用户在创建新文件和目录时的默认权限。umask值一共有4组数字,其中第1组数字用于定义特殊权限,一般不关心,日常工作中大家用的更多的是后面三组数字。以下图为例,输入"umask"命令之后,输出的"0022"就是默认的umask值。这里我们只需关注后面三个数字022即可。

二、umask的使用讲解

众所周知,对于目录,用户所能拥有的默认最大权限 是777,即rwxrwxrwx;对于文件,用户所能拥有的默认最大权限是666,即rw-rw-rw-,因为文件不需要执行权限也可以使用,所以默认的情况下可以不给执行权限 。但是x执行权限对于目录是必须的,没有执行权限就无法进入目录,所以目录默认777。

以我的系统root用户为例,umask值是022。当root用户创建目录时,默认的权限就是用最大权限777去掉相应位置的umask值权限,即对于所有者不必去掉任何权限,对于所属组要去掉w权限,对于其他用户也要去掉w权限,所以目录的默认权限就是777-022=755;

以root用户为例创建文件时,默认的权限则是用最大权限666去掉相应位置的umask值,即文件的默认权限是666-022=644。

三、验证上述内容

  1. 进入/etc/profile中将下图中007部分由002改成007,然后使用source /etc/profile命令将修改生效刷新。

2.修改完之后可以看到已经生效。

  1. 再次创建文件和目录进行测试。

可以看到umask设置已经生效。

四、注意事项

如果想要永久修改umask设置,可以修改/etc/profile文件;如果只是想要临时修改umask设置,直接使用如下命令即可,可以看到新的wenjian1和老的wenjian的权限已经不同,但是系统重启后失效。

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式