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的权限已经不同,但是系统重启后失效。

相关推荐
璞致电子11 分钟前
fpga开发板ZYNQ 璞致 PZ7010/7020 邮票孔核心板简介-ZYNQ7000系列小系统学习板
linux·嵌入式硬件·学习·fpga开发·fpga·fpga开发板·xilinx开发板
第四维度422 分钟前
【全志V821_FoxPi】9-2 Linux IIC驱动MPU6050
linux·传感器·tina·mpu6050·v821
isyangli_blog25 分钟前
(6)数据中心、台式(塔式)服务器、机架式服务器、刀片式服务器
运维·服务器
tq0227 分钟前
Cookie和Seeion在客户端和服务端的角色作用
运维·服务器·安全
青衫客3644 分钟前
浅谈 Protobuf——高效、安全的跨语言通信基石
服务器·安全·远程调用·protobuf
mjx65301 小时前
PyTorch快速入门
linux
Miki Makimura1 小时前
Reactor 模式实现:从 epoll 到高并发调试
运维·服务器·c++·学习
00后程序员张2 小时前
【Python】基于 PyQt6 和 Conda 的 PyInstaller 打包工具
运维·服务器·数据库
DeeplyMind2 小时前
AMD KFD的BO设计分析系列6-1: VRAM BO的显存分配分析
linux·驱动开发·amdgpu·rocm·kfd
❀͜͡傀儡师2 小时前
使用docker 安装dragonfly带配置文件(x86和arm)版本
运维·docker·容器