【Linux的权限命令详解】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言

shell命令以及运行原理

Linux权限的概念

Linux权限管理

一、什么是权限?

二、权限的本质

三、Linux中的用户

四、linux中文件的权限

4.1、文件访问者的分类(人)

4.2 文件类型和访问权限(事物属性)

五、快速掌握修改权限的做法【第一种】

5.1、修改拥有者、所属组、其他用户和所有人的权限

5.2、修改所有人中几个人的权限

5.3、对用户身份进行识别,是否只识别一次?

5.4、更改文件的拥有者

5.5 、更改文件的所属组

5.6、 同时更改拥有者和所属组

六、快速掌握修改权限的做法【第二种】

6.1 、八进制

七、文件类型

八、可执行权限

九、创建文件的默认权限

9.1 权限掩码

9.2 修改umask

十、目录的权限

十一、粘滞位

十二、在root的用户下新建用户和删除用户

总结


前言

世上有两种耀眼的光芒,一种是正在升起的太阳,一种是正在努力学习编程的你!一个爱学编程的人。各位看官,我衷心的希望这篇博客能对你们有所帮助,同时也希望各位看官能对我的文章给与点评,希望我们能够携手共同促进进步,在编程的道路上越走越远!


提示:以下是本篇文章正文内容,下面案例可供参考

shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。 而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

1、将使用者的命令翻译给核心(kernel)处理。

2、同时,将核心的处理结果翻译给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的 操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你心动的MM小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash。

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户。

超级用户:可以再linux系统下做任何事情,不受限制

普通用户:在linux下做有限的事情。

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令:su [用户名]

功能:切换用户。

例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

Linux权限管理

一、什么是权限?

权限就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源,比如vip,门禁之类的。

二、权限的本质

权限和人有关,权限和事物的属性有关

权限=人(角色)+事物(文件)属性有关

三、Linux中的用户

四、linux中文件的权限

4.1、文件访问者的分类(人)

  • 文件和文件目录的所有者:u—User(中国平民 法律题)
  • 文件和文件目录的所有者所在的组的用户:g—Group(不多说)
  • 其它用户:o—Others (外国人)

4.2 文件类型和访问权限(事物属性)

五、快速掌握修改权限的做法【第一种】

5.1、修改拥有者、所属组、其他用户和所有人的权限

一个文件的权限,谁能修改?

文件的拥有者、root

chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项:

R -> 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

① 用户表示符+/-=权限字符 实例:

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号: 

u:拥有者(user)

g:拥有者同组用(group)

o:其它用户(other)

所属组和其他用户的权限操作和拥有者都是一样的,同上述操作。

a:所有用户(all)

5.2、修改所有人中几个人的权限

5.3、对用户身份进行识别,是否只识别一次?

  • 对于普通用户,自身要受到对应权限的约束,即使这个文件是自己的!

注意:对于文件的拥有者,如果删除了文件的拥有者权限,但是所属组的没有删除,它也会禁止读写操作.

结论:权限只会匹配一次!

5.4、更改文件的拥有者

  • 这个时候我们把拥有者的改成root用户,但是所属组还是原来的

结论:身份识别的时候只识别一次,一旦匹配成功就不继续匹配了,如果失败就继续匹配

5.5 、更改文件的所属组

这里如果再加上other的读和写的权限,就又可以了!

5.6、 同时更改拥有者和所属组

怎么不见修改other的权限呢?

因为不需要的。

六、快速掌握修改权限的做法【第二种】

6.1 、八进制

如上图所示:如果有一个字符的权限有,就是1;如果是-,就是0.

如果我们想去掉所有人的所有权限可以这样做。

chmod 000 test.txt

赋予所有权限就是下面这条命令.

chmod 777 test.txt

保留拥有者的读写权限

chmod 600 test.txt

七、文件类型

windows是通过后缀名来区分文件类型的。

Linux不通过后缀名来区分文件类型。(并不是说Linux不用后缀)

那么通过什么区分呢?

ls -l第一个属性列

-:普通文件,文本文件,可执行程序,库等都叫做普通文件
d:目录文件

b:块设备文件(磁盘等)
c:字符设备文件(显示器等)
p:管道文件
l:链接文件

我们创建一个管道文件

mkfifo pipe

八、可执行权限

如果我们要进入一个目录,需要什么权限? ----> 进入一个目录,需要x权限

能执行 = 具有可执行权限 (x)+ 一个可执行文件

总结:

进入一个目录需要x权限
目录的r权限:用户能否查看指定目录的文件信息
目录的w权限:决定用户是否能在指定的目录内新建,修改,删除文件

九、创建文件的默认权限

9.1 权限掩码

umask

在创建文件的时候,要在起始权限中,过滤掉(不是简单的减法)再umask中出现的权限

9.2 修改umask

umask 0000

修改了umask后,创建出来的文件权限也发生了改变,所以是uamsk影响了我们的默认权限

十、目录的权限

为什么我们普通人竟然可以删除别人的文件(包括root)合理吗?

删除一个文件和目标文件有关系吗? ---->没有关系!!!

那么和谁有关系呢? ---- >和我所在的目录有关系!!!

这个目录的拥有者和所属组所拥有的权限是rwx,root是超级管理员账号,他想干什么就干什么,root可以随便在别人的目录里面创建文件,也可以随便删除别人的文件。

但是,当root在别人的为目录里创建文件的话,还不让这个文件让任何人看。

这个文件的拥有者和所属组具有x权限可以进入目录,在具有r权限,仍然看不了root的文件内容,但是当具有w权限时,便具有了删除root文件的能力,当然只能删除root的文件,还是不能修改。

所以创建一个目录的时候是默认去掉写权限的,一个外来用户进入到这个目录是不能进行创建文件的,当然root除外~~

十一、粘滞位

如果我们想在Linux下,由多个用户建立一个共享文件,来被大家共同访问,怎么办?

首先这个文件不能在我们各自的家目录下创建,为什么?

因为家目录其他人是无法进来的。

所以,我们只能在系统的非用户目录下创建。(除了自己的家目录的一亩三分地之外,就只剩下root的地盘了),所以,我们要在root的家目录下,由root创建共享目录。

普通用户想要在root账号下创建目录,只能用sudo指令来提升mkdir的权限了。

我们来看一下具体的操作

因为root超级管理员把other的权限全打开了,所以其他用户都能够读写、修改并删除。

突然小红出现了,它想搞恶作剧,把小明跟小王聊天的文件给删掉了,那么有没有什么方法防住小红呢?

这时候我们就得引入一个新的概念粘滞位。

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

一、超级管理员删除

二、该目录的所有者删除

三、该文件的所有者删除

十二、在root的用户下新建用户和删除用户


总结

好了,本篇博客到这里就结束了,如果有更好的观点,请及时留言,我会认真观看并学习。
不积硅步,无以至千里;不积小流,无以成江海。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/418426.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis Plus baomidou EasyCode插件自动生成驼峰字段实体类,而不是全小写字段实体类

开发环境: springboot 2.4.3baomidou 3.4.0mybatis plus 3.4.0jdk8 问题描述: 1、mybatis 使用baomidou 插件,EasyCode自动生成实体类,但字段都是全部小写的,不太符合编码规范。 2、mysql表字段全是驼峰&#xff0c…

正则表达式第三四个作用:替换、切割

目录 方法二 replaceAll: 方法三:spilt: 方法一之前已经见过了: 方法二 replaceAll: 形参中: 参数regex表示一个正则表达式。可以将当前字符串中匹配regex正则表达式的字符串替换为newStr。 代码演示 S…

Windows给docker设置阿里源

windows环境搭建专栏🔗点击跳转 Windows系统的docker设置阿里源 文章目录 Windows系统的docker设置阿里源1.获得镜像加速器2.配置docker 由于我们生活在中国大陆,所以外网的访问总是那么慢又困难,用docker拉取几兆的小镜象还能忍受&#xff…

一步一步写线程之五线程池的模型之一领导者追随者模型

一、线程池的模型 在学习过相关的多线程知识后,从更抽象的角度来看待多线程解决问题的方向,其实仍然是典型的生产和消费者的模型。无论是数据计算、存储、分发和任务处理等都是通过多线程这种手段来解决生产者和消费者不匹配的情况。所以,得…

github经常登不上去怎么办?

问题 想少些代码,多学习,少不了使用github,但是在国内经常上不去,很耽误事,这里提供一个简单方法,供参考。 github GitHub是一个面向开源及私有软件项目的托管平台,可以让开发者共同协作开发软…

softmax回实战

1.数据集 MNIST数据集 (LeCun et al., 1998) 是图像分类中广泛使用的数据集之一,但作为基准数据集过于简单。 我们将使用类似但更复杂的Fashion-MNIST数据集 (Xiao et al., 2017)。 import torch import torchvision from torch.utils import data from torchvisi…

Web自动化测试 —— cookie复用

一、cookie简介 cookie是一些数据,存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时,在链接关闭后,服务端不会记录用户信息 二、为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入若用例需要经常执行&…

浅析性能测试策略及适用场景

前言 面对日益复杂的业务场景和不同的系统架构,前期的需求分析和准备工作,需要耗费很多的时间。而不同的测试策略,也对我们的测试结果是否符合预期目标至关重要。 这篇博客,聊聊我个人对常见的性能测试策略的理解,以…

Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin(二)

Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin(二) 在 Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin-CSDN博客 基础上&…

信息登记小程序怎么做_重塑用户互动,开启全新营销篇章

信息登记小程序:重塑用户互动,开启全新营销篇章 在数字化浪潮中,小程序以其便捷、高效的特点,逐渐成为企业与用户之间沟通的桥梁。其中,信息登记小程序更是凭借其独特的定位,在众多小程序中脱颖而出。本文…

如何用GPT进行论文润色与改写?

详情点击链接:如何用GPT进行论文润色与改写? 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析,AI画图,图像识别,文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定…

C#,入门教程(20)——列表(List)的基础知识

上一篇: C#,入门教程(19)——循环语句(for,while,foreach)的基础知识https://blog.csdn.net/beijinghorn/article/details/124060844 List顾名思义就是数据列表,区别于数据数组(arr…