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

Linux第三讲----用户权限(二)

由于一些原因,我将centos更换为了ubuntu,但是这些指令的操作都是一样的! 

在上一篇文章中,我们已经了解了基本的权限操作,在此篇文章中,我们将继续深入探讨下权限!

一、理论理解

1.Linux下一切皆是文件,文件权限=用户+文件属性!而其中,文件属性又主要是指权限属性,即r/w/x,即读/写/可执行(顺序不可以变!)

注:这里的x是可执行权限,与能执行是两码事,一个可执行文件=可执行权限+本身能执行

2.我们先在Linux上创建几个文件,如图所示,下面我们来具体理解一下!

 我们着重看后两行,下面对其进行解释!

 首先,白色框内代表文件名,红色框内代表上一次修改的时间,绿色框代表字节数,在这里由于我没有写入,故为0,以上三者不在赘述,下面主要介绍黄框还有粉框,之间的1先暂时不介绍!

3.对黄框的解释:

首先我们知道,linux中,用-表示普通文件,用d表示目录文件,所以,以上两个文件都是普通文件,除去这个字符外,还剩下9个字符,我们刚好可以分成3*3组,即3个一组,每一组都是rwx功能(-为不具备对应的功能),而每组我们又可以分别起一个名字,分别叫拥有者,所属组,以及other其他,而粉框第一个代表拥有者,第二个代表所属组,接下来我将对这三个组加以解释。

4.对三个组别的解释:

在这里我可以打个比方,假设张三李四都进入了某家公司,而且被分别分入AB两组,各自编写各自的代码,而由于资金短缺,只能用一台Linux机器,于是便分别创立了zs账户和ls账户,各自编写,假设A组张三创建并编写了zs.txt文件,则张三便是这个文件的拥有者,而A组的其他人,则是所属组,只能读不能写这个文件,而B组的人,则为other其他,也许有人会问到,那为什么还要区分后两者呢?倘若现在要秘密进行A组的协作,则只需要将第二组改为rw-,第三组改为---即可,这就是设置所属组和other存在的意义!

5.总结

综上所述,log.txt为普通文件,对拥有者是可读可写的,对所属组以及Other是只可以读的,拥有者和所属组均为root,创建时间为2.18 14:42

二、实验操作(普通文件)

1.文件的权限属性

法一)chmod u/g/o[+/-]rwx filename, 多人用","隔开

           chmod a[all] +/- rwx filename

示例1:

示例2:

 示例3:

示例4:

示例5:

 法二) chmod 八进制 filename

假设每一位上,若出现-,则代表0,否则为1,那么,r--则为100,即4,rwx则为111,即7,

如此,我们将其组合起来,便有了新的表示方式

示例1:

注意:

1)身份匹配只能匹配一次,从拥有者,所属组,other从左向右成功匹配一次

2)权限是对于普通用户才存在的!root为超级用户,不受权限的控制的!但是假设我作为一个文件的拥有者,但是我将rwx都设为---,那么我将无法在看这个文件也就是说自己把自己杀掉了

2.权限的更改

 假设我在root账号下,有rzh和wzd两个子账号,当rzh账号创建了一个文件并且想把拥有者和所属组都给wzd,应该怎么办呢?

如图,这是rzh账号创建的文件

下面改一下权限:

 

这样,我们完成了改造

 三、实验操作(目录文件)

1.rwx的作用

r  ------   用户能否看到执行目录下的文件信息

w ------   用户能否修改(属性)或删除执行目录下的文件

x  -------  用户能否进入一个目录

证明:(用控制变量法)

r作用的证明:

w作用的证明:

 x作用的证明:

 下面我们来探讨最后一个小问题:

2.为什么我们看到的缺省的权限是这个样子?

换句话讲,就是为什么我们创建完文件后的权限就是这样了呢?如图我新建了目录文件dir1以及普通文件newfile.txt

原因如下:

在创建之初,普通文件的起始权限为666,目录文件的起始权限为777,但是在Linux中,存在一个叫做权限掩码的东西, 并且在不同的系统中,umask的默认值可能是不一样的,我这里是0002。

umask的意思就是过滤掉在权限掩码中出现的权限,最终权限等于起始权限去掉umask

 

过程如下: 

 umask是一个八进制数字,我们只关注后三位,0002表示000 000 010,将其按位取反(~umask)后&初始权限

比如:普通文件:110   110   110

                        &   111   111   101

得到                     110    110   100,即rw-rw-r--

           目录文件:111   111   111

                       &    111   111   101

得到                      111   111    101,即rwxrwxr-x

好了,那如果我们想建一个文件,但是还想取消他的所有权限,那我们就可以设置一下umask的值,改为777,这样按位取反后全为0,&一下就全为0了,权限就设置了

3.粘滞位(选学)

 3.1引言

首先我们以rzh账号建立一个test文件夹,之后切到wzd账号,当我们想用这个账号在test文件夹创建一个wzd.txt文件时,会发现创建不了!如下图

然后我们把账号切回到rzh账号,修改root.txt文件,修改为000,之后发现这个文件既不能写也不能读,但是却可以删

这是因为这个test目录是rzh建的,有w权限,为此我们得出结论:一个文件是否被删,权限是依赖于所处目录的! 

因此,若想进行多个普通账号的数据共享,就不能放在任何一个普通账户的路径下,以root账号创建,公共目录下,普通人以other身份共享!

由此我们设置一下粘滞位:

3.2粘滞位

以下课件内容由比特提供!


http://www.mrgr.cn/news/92227.html

相关文章:

  • 【第五节】C++设计模式(创建型模式)-Prototype(原型)模式
  • Three.js 快速入门教程【六】相机控件 OrbitControls
  • llama-factory部署微调方法(wsl-Ubuntu Windows)
  • elementUI方案汇总
  • 使用VS Code远程开发OpenAI API
  • vue2版本elementUI的table分页实现多选逻辑
  • DeepSeek开源周Day1:FlashMLA引爆AI推理性能革命!
  • 面试八股文--数据库基础知识总结(2) MySQL
  • 网络运维学习笔记(DeepSeek优化版)001网工初级(HCIA-Datacom与CCNA-EI)网络架构与通信原理
  • 网页制作08-html,css,javascript初认识のhtml使用框架结构,请先建立站点!
  • centos 7 安装python3 及pycharm远程连接方法
  • SAP-ABAP:ABAP第一代增强详解主讲(User Exits(用户出口))
  • IO进程 day05
  • Linux-----进程间通信
  • SOME/IP-SD -- 协议英文原文讲解2
  • DroidDissector本地部署
  • Mesh自组网技术及应用
  • 记一些工具(持续更新)
  • 2.2 STM32F103C8T6最小系统板的四种有关固件的开发方式
  • 【DeepSeek-R1背后的技术】系列十一:RAG原理介绍和本地部署(DeepSeekR1+RAGFlow构建个人知识库)