【Linux】Linux 权限和权限管理

news2024/12/29 10:10:35

文章目录

  • Linux权限的概念
  • Linux权限管理
      • 文件访问者的分类(人)
      • 文件类型和访问权限(事物属性)
  • 目录权限
  • 默认权限
  • 粘滞位
  • 关于权限的总结

Linux权限的概念

权限是用来限制人的,权限=人+事物属性
权限存在的意义是便于系统安全管理的

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

  • 超级用户:可以再linux系统下几乎可以做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su
root(root可以省略),此时系统会提示输入root用户的口令
在这里插入图片描述

Linux权限管理

文件访问者的分类(人)

文件和文件目录的所有者u---User
文件和文件目录的所有者所在的组的用户:g---Group
其它用户:o---Others
在这里插入图片描述

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

文件可以有的属性是读,写,运行
文件=内容+属性
在这里插入图片描述
在Linux中文件名的后缀,只是给人看的并没有去什么实质性的作用,是文件名的一部分。
而文件类型是用上面图片最前面的字符来区分
文件类型
只有前两个是我们经常看到的

  • d:文件夹(目录)
  • -:普通文件,文本,可执行,归档(压缩文件)等
  • l:软链接(类似Windows的快捷方式)
  • b:块设备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件(例如屏幕等串口设备)
  • s:套接口文件

超级用户和普通用户之间的切换
在这里插入图片描述
上面图片演示的就是将超级用户与普通用户之间切换
在这里介绍一下susu -的区别,su就是在用一个bash下进行身份切换,su -让我们的root重新登录。
在这里插入图片描述
当我们在进行普通用户和普通用户之间互相切换时,会发现没有权限,需要知道另一个用户的密码,但是当我们有root的权限时,也就是有root的密码时,是可以切换到另一个用户的,先切换到root然后在切换到另一个普通用户。

在上面讨论文件类型的时候,看的是文本行的第一个字符,我们会发现后面还有九个字符,接下来我们就来讨论剩下的九个字符的意义。这九个字符按顺序三三为一组,前三个是拥有者的权限,中间三个是所属组的权限,后三个是other的权限。在下面介绍的也就是r、w、x、-的意思。

  • 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  • 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  • 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
  • “—”表示不具有该项权限
    在这里插入图片描述
    就例如上面图片,对dir目录的权限,对拥有者的也就是root的权限是可读、可写、可执行。对所属组的权限是可读、不可写、可执行。对other的权限是可读、不可写、可执行。

如何更改文件的权限
上面也是介绍过,权限=人+事件属性.
所以如果想要更改文件的权限,要么改变所有者要么改变文件的属性。
下面就进行修改文件权限的介绍,这只能在拥有者root的情况下进行。
在文件属性的文本行第一个是文件类型,而我们就是用过后就个字符来改变文件权限,用过使用chmod、chown、chgrp。
修改拥有者的权限
chmod

功能:设置文件的访问权限
格式chmod [参数] 权限 文件名
常用选项

  • R -> 递归修改目录文件的权限
  • 说明:只有文件的拥有者和root才可以改变文件的权限
    ① 用户表示符+/-=权限字符
    +:向权限范围增加权限代号所表示的权限
    -:向权限范围取消权限代号所表示的权限
    =:向权限范围赋予权限代号所表示的权限
    用户符号:
    u:拥有者
    g:拥有者同组用
    o:其它用户
    a:所有用户
    示例如下
    在这里插入图片描述
    修改权限不只是上面的一种写法,也可以使用八进制数值表示法,三个数为一组,我们把是-的看作成零,不是的看做成一,就这样组成三个数的二进制,再将二进制转换为八进制,也就是我们想要的结果。
    当我们想要所有的权限都关上的时候就可以使用chmod 000 [文件名],虽然是全部关上了,但是也就只对普通用户有作用,当我们用超级用户时还是有权限。全部打开权限chmod 777 [文件名]
    在这里插入图片描述

在这里插入图片描述
chown
功能:修改文件的拥有者
格式chown [参数] 用户名 文件名
实例:
修改拥有者sudo chown root text.c 或者在root下使用chown root text.c
也可以既修改拥有者又修改所属组:sudo chown root:root text.c

chgrp
功能:修改文件或目录的所属组
格式chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
实例:
修改拥有者sudo chgrp root text.c 或者在root下使用chgrp root text.c
chown和chgrp在直接使用时,会发现不被允许,这是就需要root介入了,使用sudo或者在root路径下。

目录权限

  • 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
  • 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

默认权限

首先提出的问题就是为什么创建的文件的默认权限是664,还有创建的目录时默认权限是775?
(不同的操作系统,默认的权限可能会不一样)
在这里插入图片描述
在这里插入图片描述

粘滞位

背景:在使用Linux的时候,未来可能会有一些共享目录,被所有的普通用户共享,用来保存普通用户产生的临时数据。
共享目录通常都是root提供的。
粘滞位是在为了让大家共享文件,并且不让其他人随便删除别人的文件的环境下产生的。
粘滞位是只能给目录添加,之后成为共享目录。
下面图片就是添加粘滞位的前后对比,
在这里插入图片描述
在特定的目录下,创建或删除文件需要有该目录的W权限决定。
所以也就是w也能保证文件不被删除,但是当我们把other当中的w去掉的话,那么共享文件也就不能在创建新的文件了,所以就必须要使用粘滞位。
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

关于权限的总结

  • 目录的可执行权限是表示你可否在目录下执行命令。
  • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这
    个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
  • 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限。
  • 所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
最后:文章有什么不对的地方或者有什么更好的写法欢迎大家在评论区指出

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python处理第一类切比雪夫多项式

第一类切比雪夫多项式简介 Chebyshev多项式是一种非常重要的正交多项式,在逼近理论中有重要应用,第一类切比雪夫多项式的根可用于多项式插值,对弥补龙格现象有很大的帮助。其表达形式为 Tncos⁡(narccos⁡x)T_n\cos(n\arccos x) Tn​cos(nar…

vite+vue3+Ts搭建基础项目框架

随着前端技术的更新,程序员们的技术栈也要不断跟上,本来想躺平,不料却被推着走。 上个月开发团队新来一个项目需求,要求开发技术栈vue2更换成vue3,毫无准备的小编一脸懵,嗯?怎么说 换就换了&am…

读写分离有哪些坑?

在上一篇文章中,我和你介绍了一主多从的结构以及切换流程。今天我们就继续聊聊一主多从架构的应用场景:读写分离,以及怎么处理主备延迟导致的读写分离问题。 我们在上一篇文章中提到的一主多从的结构,其实就是读写分离的基本结构了。这里,我再把这张图贴过来,方便你理解…

【Linux】Linux环境下如何实现自动化编译——make/makefile入门

文章目录 前言 一、make/Makefile 的使用 1.示例 2.编写 Makefile 文件 2.1生成 2.2清理 二、make 如何知道生成的可执行文件是否最新 前言 在Linux 环境下编写好C语言代码之后,我们需要使用编译工具gcc 将其翻译为可执行文件。可是,如果对代码进…

Apache Spark 机器学习 特征抽取 4-1

特征数据集是用于在机器学习中进行训练,有关特征的算法的分类如下所示: 抽取(Extraction),从原始数据集中提取出对应的特征集 转换(Transformation),缩放特征、转换特征以及修改特征…

线程池(关于变量捕获、线程数、针对ThreadPoolExecutor的构造方法参数的解释、自实现线程池)

目录:一、前言二、关于变量捕获三、针对ThreadPoolExecutor的构造方法参数的解释四、自实现线程池一、前言相比较于进程,创建线程 / 销毁线程 的开销是相对较小的,但是太过频繁的创建线程 / 销毁线程,其开销也很大。这时候我们就需…

C 语言编译链接

前言 一个 C 程序究竟是怎么变成可执行程序的,这其间发生了什么?本文将带你简要了解 C 程序编译过程,文章为 《程序员的自我修养—链接、装载与库》的读书笔记,更为详细的过程可以阅读原书。 比如下面一个经典的 C 程序&#xf…

百度飞浆在pycharm中的使用(含官网安装和cuda)

uieGitHub 安装cuda 1 获取版本 我的是 CUDA Toolkit 11.7.1 (August 2022), Versioned Online Documentation 为了防止后期版本不对应,我这里小心谨慎安装了August对应的月份。 C:\Users\89735>nvidia-smi Mon Dec 19 21:31:28 2022 ------------------------…

一眼万年,这3款顶级神软,内存满了也绝不卸载

免费软件都不好用?不!下面3款良心软件,颠覆你的认知,功能强大到离谱,值得收藏往后有需要直接使用。 1、桌面运维助手 这是一款堪称神器的国产电脑优化工具,集硬件管理、系统管理、辅助工具于一体&#xff0…

Effective C++条款39:明智而审慎地使用private继承(Use private inheritance judiciously)

Effective C条款39:明智而审慎地使用private继承(Use private inheritance judiciously)条款39:明智而审慎地使用private继承1、private 继承2、在private继承和复合之间做出正确选择3、使用private继承比组合更加合理的例子4、牢…

wsl安装CUDA

NVCC 昨天已经安装好了gpu版的pytorch,对于一般的代码应该就可以运行了。但有些代码中需要用到cuda算子,需要配置nvcc环境。对于这个我也没能搞太清楚,网上的说法不一,我使用conda安装pytorch时也安装了cudatoolkit,按…

c++11 标准模板(STL)(std::forward_list)(八)

定义于头文件 <forward_list> template< class T, class Allocator std::allocator<T> > class forward_list;(1)(C11 起)namespace pmr { template <class T> using forward_list std::forward_list<T, std::pmr::polymorphic_…

当面试官问:“你还有什么要问我”,怎样回答才最加分?

面试到最后&#xff0c;面试官常常会问求职者&#xff1a;“你还有什么要问我&#xff1f;”许多人面对这个问题&#xff0c;不知该怎样回答&#xff0c;怕回答不好影响自己的面试结果&#xff0c;那么怎么回答才最加分呢&#xff1f;有人说&#xff0c;可以问问这个职位应该具…

springboot整合gateway网关

2.3 搭建Gateway 本项目使用Spring Cloud Gateway作为网关&#xff0c;下边创建网关工程。 新建一个网关工程。 工程结构 添加依赖&#xff1a; XML org.springframework.cloud spring-cloud-starter-gateway com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discove…

TryHackMe-Blog

Blog 比利乔尔&#xff08;Billy Joel&#xff09;在他的家用电脑上写了一个博客&#xff0c;并开始工作。这将是非常棒的&#xff01; 枚举此框并找到隐藏在其上的 2 个标志&#xff01;比利的笔记本电脑上有一些奇怪的事情。你能四处走动并得到你需要的东西吗&#xff1f;还…

蓝队常用的攻击手段

目录 一&#xff0c; 漏洞利用 1.1 SQL 注入漏洞 1.2 跨站漏洞 1.3 文件上传或下载漏洞 1.4 命令执行漏洞 1.5 敏感信息泄露漏洞 在实战过程中&#xff0c;蓝队专家根据实战攻防演练的任务特点逐渐总结出一套成熟的做法:外网纵向突破重点寻找薄弱点&#xff0c;围绕薄弱点…

2022 VeLO: Training Versatile Learned Optimizers by Scaling Up

VeLO: Training Versatile Learned Optimizers by Scaling Up 通过扩展模型的规模来训练一个通用的优化器。 设计上&#xff0c;优化器的原理基于元学习的思路&#xff0c;即从相关任务上学习经验&#xff0c;来帮助学习目标任务。 相比迁移学习&#xff0c;元学习更强调获取元…

2023年批量下载和改名音频专辑(单页列表)

一、下载原理 1&#xff09;找到目标音频的专辑网页&#xff0c;这里以 kite runner mp3为例。&#xff08;需要自己找&#xff09; https://www.xi___ma___la_____ya.com/album/71718770 2&#xff09;进入详细页&#xff08;称为一次请求URL&#xff09;&#xff08;不需要…

JUC(java.util.concurrent)的常见类

文章目录一、JUC常见类Callable 接口ReentrantLockSemaphore(信号量)CountDownLatch一、JUC常见类 concurrent代表了并发&#xff0c;这个包下为我们提供了并发编程(多线程)相关的组件. Callable 接口 我们的Callable接口和Runnable是一样的&#xff0c;但也有一些区别: Run…

C/C++实现跨年表白烟花

跨年表白烟花使用c/c实现烟花效果&#xff08;小白进&#xff09;分析诉求&#xff0c;拆分问题头文件贯穿全文的媒体部分文字部分&#xff1a;进入烟花弹部分烟花弹的属性初始化烟花弹让烟花弹飞起来烟花爆炸烟花弹的属性初始化烟花让烟花炸起来完成代码&#xff1a;使用c/c实…