当前位置: 首页 > article >正文

初识Linux:权限(2)

目录

 权限 = 用户(角色)+ 文件权限属性

文件的权限属性:

有无权限的区别:

身份匹配: 

拥有者、所属组的修改: 

八进制的转化: 

文件的类型:

x可执行权限为什么不能执行? 

目录权限: 

umask 过滤:


  • 以下指令均在Xshell 7 中进行 

 权限 = 用户(角色)+ 文件权限属性

上一篇:初识Linux:权限(1)-CSDN博客 

文件的权限属性:

一个文件可以拥有三个权限:

  1. 是否具有可以读的权限
  2. 是否具有可以写的权限
  3. 是否具有可以执行的权限

这三种权限分别对应字符 r 、w、x  ,当具有可读权限的时候会显示字符r,当具有可写权限时会显示字符w,当具有可执行权限时会显示x。

  • 而如上图所示,其中的 - rw - rw- r-- 除去最前面的-表示为文件的类型是普通文件外,其余的九个字符三个三个为一组分为三组,这三组分别对应着拥有者,所属组,other。

其可以表示为拥有者有着对本文件的权限,所属组对本文件的权限,other对本文件的权限。

又而最后的表示为,拥有者对文件的权限是可以读、可以写、不可以执行,所属组对文件的权限是可以读、可以写、不可以执行,other对文件的权限是可以读、不可写、不可以执行。 

这些权限可以认定为 文件对不同的用户 而开放的不同权限。 

当然这些权限是可以修改的,使用chmod进行对应角色的权限修改: 

删去 拥有者 的 可读权限 

添加 拥有者 的可读权限和可写权限 

删去 所属组 的 可写权限 

删去 other 的 可读权限 

修改 多个 用户的权限 

同时添加 拥有者 所属组 other 的可读权限 

有无权限的区别:

对于普通用户:没有 r 权限 就不能查看文件的内容,没有w权限就不能再文件中写入内容。 

这是普通文件给予自己的一种束缚,即便文件的创始者是自己,但是对于超级用户root而言可以无视这些束缚。  

身份匹配: 

当文件的拥有者和所属组是同一个时,这就会产生一共疑问,我是拥有者,但拥有者没有这些权限,但我也是所属组,所属组有这些权限,但为什么还是不能使用这些权限呢? 


答:

  1. 这涉及到linux的身份识别问题,linux对用户的身份识别只识别一次, 也就说第一个身份识别失败后会开始识别第二次,当识别成功后就不会往后继续识别身份。
  2. 例如匹配完拥有者成功后,就不继续匹配是否是所属组了,当识别不是拥有者不是所属组之后就认定为other 

拥有者、所属组的修改: 

  1. chown 用户名 文件   修改文件的拥有者
  2.  chgrp 用户名 文件    修改文件的所属组
  3. chown 用户名1:用户名2 文件   修改文件的拥有者和所属组

修改拥有者 

同时修改拥有者和所属组 

八进制的转化: 

三个三个一组的读、写、可执行字符可以因为是否存在权限 而转化为数字,如果存在权限则为1没有权限则为0。

如图所示,可以通过权限的存在与否转化为一串二进制代码 110 110 100 而二进制数位又可以因为三个一组 转化为八进制数位  6 6 4

所以,修改文件的拥有者、所属组、other 的权限 也可以这样写:

 0 0 0 是八进制数位,可以表示拥有者 、所属组、other 没有任何的权限。

7 7 7 则是表示拥有者、所属组、other 同时有着 r、w、x三个权限。 

文件的类型:

 Linux内部的文件,它的类型并不是看文件的后缀名,而是查看文件信息的最前端的字符,如果是字符 - 则表示这是一个普通文件,如果是字符 d 则表示的是目录文件。

 当然,linux内部的文件是不看文件的后缀,但是linux的工具却需要认定Linux文件的后缀,才能够根据文件的类型进行执行相应的进程

x可执行权限为什么不能执行? 

当然,linux文件的后缀不论是什么,只要这个文件本身是能够可以执行的文件 ,才可以执行,即便这个文件的拥有者、所属组、甚至是other 都具有可以执行文件的权限,但文件本身不能执行,那么这个权限也毫无用处。

目录权限: 

目录本身也是一个文件,所以它也有着拥有者、所属组、other ,而拥有者、所属组、other也有着对目录的权限。

对于目录而言,r权限是查看目录内部的文件,用户失去了r则看不了目录内部的文件。

而 w权限是再目录内部进行文件的删除、修改、建立,失去了w权限就不能再目录内部建立文件和删除文件。

而 x 权限则是进入目录的一个必要条件,如果用户没有对目录的x权限,则当前用户是进入不了目录内部的。

umask 过滤:

 



http://www.kler.cn/a/162731.html

相关文章:

  • 【数据结构与算法】第12课—数据结构之归并排序
  • 阿里云和七牛云对象存储区别和实现
  • 树形dp总结
  • 使用Python实现定期从API获取数据并存储到数据库的完整指南
  • activiti5基础和springboot整合
  • 【Rust练习】21.动态数组 Vector
  • Java八股文面试全套真题【含答案】-Web前端篇
  • Ubuntu22.04安装和卸载软件的命令行
  • 前端面试灵魂提问-计网(2)
  • Windows循环检测,直到网络通/断后执行指定命令
  • springboot如何格式化时间
  • 安装以及使用Minio分布式文件系统
  • SQL注入攻击
  • numpy数据读取保存及速度测试
  • Opencv打开图片
  • Java-网络通信总结
  • 掌握VUE中localStorage的使用
  • Gateway:微服务架构中的关键组件
  • ssl什么是公钥和私钥?
  • ES-深入理解倒排索引
  • Docker-compose容器编排与容器监控
  • 基于运算放大器的电压采集电路
  • Elasticsearch:什么是检索增强生成 (RAG)?
  • 【力扣100】7.无重复字符的最长子串
  • leetcode 3. 无重复字符的最长子串
  • Mysql 索引概念回顾