【Linux】权限的理解之权限掩码(umask)

2024-05-28 23:44
文章标签 linux 理解 权限 掩码 umask

本文主要是介绍【Linux】权限的理解之权限掩码(umask),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

一、利用八进制数值表示文件或目录的权限属性

二、系统默认的权限掩码和权限掩码的作用原理

三、分析权限掩码改变文件或目录的权限属性


前言

权限掩码是由4个数字组合而成的,默认的第一位数字是0;后三位数字分别由八进制位数字组成。权限掩码主要利用后三位数字发挥作用,后三位八进制数字代表的是文件或目录的权限属性。权限掩码存在的意义是:可以通过修改它来改变所创建的文件或目录的默认权限属性。

在看文件掩码之前我们来看一下用八进制位数值表示文件或目录的权限属性 :

一、用八进制数值表示文件或目录的权限属性

文件或目录的权限属性有三种类型:

r:可读        w:可写        x:可执行   (这里其实还有一个t,t是x的一种特殊替换)

下面来举1个例子:

r-x-w-r-x 用二进制数值表示:101 010 101        进而用八进制数值表示为:525

验证示例如下:

 

二、系统默认的权限掩码和权限掩码的作用原理

系统默认的权限掩码是:

 

这里需要注意的一个点是:

系统默认给普通文件的起始权限其实是666。

系统默认给普通文件的起始权限其实是777。

那为什么下面新创建的文件的权限是664,新创建的目录的权限是775 ?

这就涉及到了权限掩码的作用原理,这种作用原理是:

文件或目录的最终权限属性=文件或目录的起始权限属性&(~umask)

下面大家可以可以自行通过该作用原理测试。

三、分析权限掩码改变文件或目录的权限属性

那如果我们想创建一个可以仅让自己修改和查看的文件(无论所属组的用户如何改变),即最终的文件权限属性是:rw-------(当然,这里如果要想让其他用户能看见该文件的内容,其他用户必须先可以访问该文件所在的用户才可以),该如何利用权限掩码来操作呢?

仅需要对权限掩码进行修改即可:

这篇关于【Linux】权限的理解之权限掩码(umask)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1012031

相关文章

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Redis实现RBAC权限管理

《Redis实现RBAC权限管理》本文主要介绍了Redis实现RBAC权限管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1. 什么是 RBAC?2. 为什么使用 Redis 实现 RBAC?3. 设计 RBAC 数据结构

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

linux本机进程间通信之UDS详解

《linux本机进程间通信之UDS详解》文章介绍了Unix域套接字(UDS)的使用方法,这是一种在同一台主机上不同进程间通信的方式,UDS支持三种套接字类型:SOCK_STREAM、SOCK_DGRA... 目录基础概念本机进程间通信socket实现AF_INET数据收发示意图AF_Unix数据收发流程图A

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计