【Linux权限】 Linux权限管理 | 粘滞位

文章目录

  • Linux权限管理
      • 什么是权限 ❓
      • 💦 文件访问者的分类(人)
      • 💦 文件类型和访问权限(事物属性)
    • 💦 文件访问权限的相关设置方法
    • 目录的权限
  • 粘滞位

Linux权限管理

什么是权限 ❓

权限本质上是决定某件事情,某人能否做。

  • Linux下文件权限的组成✨

文件权限 = 人 + 事物属性

文件权限属性:r(读)、w(写)、x(执行权限)

人 (不是特定具体的人,而是一种角色):拥有者、所属组、other (其它)

💦 文件访问者的分类(人)

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

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

a) 文件类型

  • d:文件夹
  • -: 普通文件
  • l : 软链接 (类似 windows 的快捷方式)
  • b:块设备文件 (例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件 (例如屏幕等串口设备)
  • s:套接口文件
    在这里插入图片描述

使用命令 ls -l (ll) 显示的多列属性的第一列对应的字符来区分它的文件类型。

b) 基本权限

i.读 ( r ):read 对文件而言,具有读取文件内容的权限;对目录而言,具有浏览目录信息的权限
ii.写 (w):write 对文件而言,具有修改文件内容的权限;对目录而言,具有删除移动目录内文件的权限
iii.执行 (x):execute 对文件而言,具有执行文件的权限;对目录而言,具有进入目录的权限

在这里插入图片描述

为什么没有other呢

  • 一个文件在判断它不是owner和group之后,只能是other了,所以没必要显示other

owner | group | other 存在的意义

  • 比如某个公司有员工10个人,他们分为AB两组各5人,公司要开发一款软件,分别交给AB两组独立开发,竞争后选择优者。因为公司比较穷,AB两组只能在同一台服务器上办公,因为是竞争关系,所以对于AB来说他们都有自己的权限管理----A不能访问B,B也不能访问A,假设没有group这个概念,一个项目(文件)要么是属于owner的,要么是属于other的。假设这时技术总监(非A组人)要看A组张三的代码,便没有权限,所以为了除竞争关系外的其他人方便访问,单独给出group予以区分。

💦 文件权限值的表示方法

a) 字符表示方法

在这里插入图片描述

b) 八进制数值表示方法

在这里插入图片描述

其中我们可以直接使用八进制来替代 u、g、o 中的 r、w、x ❗
在这里插入图片描述

$ chmod 777 file.txt
$ chmod 000 file.txt
$ chmod 640 file.txt

在这里插入图片描述

💦 文件访问权限的相关设置方法

a) chmod

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

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

常用选项:

  • R -> 递归修改目录文件权限
  • 说明:只有文件的拥有者和 root 才能改变文件权限

chmod 命令权限值的格式:

1️⃣ 用户表示符 +/-= 权限字符

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限

用户符号:

  • u:拥有者

  • g:拥有者同组用

  • o:其它用户

  • a:所有用户

    💦实例:

$ chmod u-r file.txt
$ chmod g-rw file.txt
$ chmod o+rwx file.txt
$ chmod u+r,g+rw,o-rwx file.txt

在这里插入图片描述
在这里插入图片描述

注意:

  • 权限永远都是约束普通人的,root 是超级用户,它不受或几乎不受权限约束。这里的 owner、group、other 主要针对的是多个普通用户的情况。

Linux下文件后缀 ❗

Linux 系统对于文件后缀是不关心的,注意这里指的是系统不关心不是某些工具。而不是gcc编译器不关心,如果将.c后缀文件改为.txt文件内容不会变,但是Linux下的编译器不会通过。

b) chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

实例:

$ sudo chown root file.txt//修改拥有者
$ sudo chown shijiaqing file.txt//修改拥有者
$ sudo chown :shijiaqing file.txt//修改所属组
$ sudo chown shijiaqing:shijiaqingfile.txt//可以将拥有者、所属组同时修改
$ sudo chown root:root file.txt//可以将拥有者、所属组同时修改

在这里插入图片描述

c) chgrp
功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

常用选项:-R 递归修改文件或目录的所属组

实例:

$ sudo chgrp root file.txt
$ sudo chgrp shijiaqing file.txt

在这里插入图片描述

d) umask

功能:查看或修改文件掩码

格式:umask 权限值

说明:将现有的存储权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022,普通用户默认为 0002

❓ 新建了一个 file 文件、dir 目录,是什么决定了它的默认权限 ❔

  • 一般普通文件,起始权限从 666(rw- rw- rw-) 开始

  • 一般目录文件,起始权限从 777(rwx rwx rwx) 开始

为啥它没按照一般情况来 ❓

  • 因为在 Linux 中,在设置权限时,系统默认会有一个 umask 权限掩码
    在这里插入图片描述

对于 0002 我们这里先不管第一个 0(它涉及后面的概念),其它位转成对应的二进制就是 000 000 010

umask 其中设定了一个概念:凡是在 umask 中出现的权限,都不应该在最终权限中出现

这里我们发现只有 other 里有一个写的权限,那么最终我们应该在 666(rw- rw- rw-) 或 777(rwx rwx rwx) 中去掉 other 的写权限,其中计算过程是:初始权限 & (~umask)

在这里插入图片描述

所以换句话说我们在系统中设定的 umask 就可以进行更改默认权限了 ❗
在这里插入图片描述
之后我们再新建 data.txt时,它们就无权限了:
在这里插入图片描述

目录的权限

  • 要在目录下创建文件,需要什么权限 ?

    增加 w 权限,能写文件但不能读文件

在这里插入图片描述
在这里插入图片描述
切换成root为我们修改一下w权限,再切换普通用户进入home路径
在这里插入图片描述

在这里插入图片描述

📝说明:

要在目录下创建文件,必须需要 w 权限。

同理不做演示:

  • 要读取目录下的文件列表,必须需要 r 权限。
  • 要进入一个目录必须具有 x 权限。

粘滞位

粘滞位(Sticky Bit)是一种文件系统权限的特殊标志,用于控制对目录中文件的删除权限。当粘滞位被设置在一个目录上时,只有目录的所有者、文件的所有者和超级用户才能删除或重命名该目录中的文件

  • 只有目录的所有者或超级用户才能设置或取消粘滞位。粘滞位对于确保公共目录中的文件安全性非常有用,防止意外删除或修改他人的文件
  • 在UNIX和类UNIX系统中,粘滞位可以通过文件系统的权限模式来设置。当一个目录的粘滞位被设置时,该目录的权限模式会以一个加号(+)和粘滞位标志(t)结尾。例如,一个具有粘滞位的目录权限模式可能是drwxrwxrwt。
  • 要设置粘滞位,可以使用chmod命令,并在权限模式中添加一个加号(+)和粘滞位标志(t)。例如,要将粘滞位设置在目录上,可以运行以下命令:
[root@VM-16-centos home /] chmod +t /home/ # 加上粘滞位
[root@VM-16-centos home /] ls -ld /home/
drwxrwxrwt. 3 root root 4096 219 16:00 /home/
[root@VM-16-centos home /] su - shijiaqing
[shijiaqing @VM-16-centos home /]$ rm /home/abc.c #shijiaqing不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"? y
rm: 无法删除"/home/abc.c": 不允许的操作

粘滞位只能给目录设置
一般是谁设置,谁才能取消

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

  • 一、超级管理员删除
  • 二、该目录的所有者删除
  • 三、该文件的所有者删除

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】主机搭建 Linux服务器环境 笔记

目录 前言选择系统软件1. 用U盘装系统2. 安装 Centos7.93. 网络套件 应用软件1. ngnix2. 防火墙配置3. nodejs 后记 前言 过年买了个 mini 主机当玩具玩一下,这里记录下。 选择 已有主力机 (windows) 的情况下,使用过如下四种 Linux宿主环境。这里总…

猫头虎分享已解决Bug || Python AI错误处理:IndexError

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

基于情感分析的网上图书推荐系统

项目:基于情感分析的网上图书推荐系统 摘 要 基于网络爬虫的数据可视化服务系统是一种能自动从网络上收集信息的工具,可根据用户的需求定向采集特定数据信息的工具,本项目通过研究爬取网上商品评论信息实现商品评论的情感分析系统功能。对于…

IO进程-day3

1>多线程实现文件拷问 代码&#xff1a; #define MAXSIZE 1024 #include<myhead.h>int main(int argc, char const *argv[]) {FILE *srcfpNULL;FILE *destfpNULL;if((srcfp fopen("./pm.bmp", "r")) NULL){perror("fopen error");re…

【PCIE709-F】基于复旦微JFM7VX690T80 FPGA的全国产化8通道光纤双FMC接口数据处理平台

板卡概述 PCIE709-F是一款基于上海复旦微电子的28nm 7系列FPGA JFM7VX690T80的全国产化8通道光纤双FMC接口数据预处理平台&#xff0c;该板卡采用复旦微的高性能7系列FPGA作为实时处理器&#xff0c;实现4路10G SFP光纤以及1路QSFP通信接口、实现1路X8 PCIE数据传输的功能。板载…

MySQL 锁的内存结构

目录 1.摘要 2. 加锁的本质 3. 锁结构详解 3.1 锁所在的事务信息 3.2 索引信息 3.3 表锁/行锁信息 3.4 type_mode 3.5 其他信息 3.6 一堆比特位 1.摘要 在 MySQL 中&#xff0c;有很多种锁&#xff0c;例如行锁&#xff0c;表锁&#xff0c;页锁&#xff0c;全局锁&a…

0207-2-计算机组成

Principle-of-Computer-Composition 计算机组成原理思维导图 计算机组成 第一章 计算机系统概论 冯诺依曼型计算机特点 1.计算机由运算器&#xff0c;控制器&#xff0c;存储器&#xff0c;输入和输出设备5部分组成2.采用存储程序的方式&#xff0c;程序和数据放在同一个存…

网页布局之浮动

一&#xff0c;传统网页布局的三种方式 普通流&#xff08;标准流&#xff09;、浮动、定位。 二&#xff0c;标准流&#xff08;普通流/文档流&#xff09; 即为标签按照规定好的默认方式排列。 1.块级元素会独占一行&#xff0c;从上向下顺序排列。 常用元素&#xff1a;…

3ds Max视频怎么渲染 3ds Max云渲染操作

在3ds Max软件中制作视频动画本质上是逐帧生成画面&#xff0c;并将这些连续帧串联起来创造出动态连贯的视觉效果。常见的视频帧率包括25 FPS(每秒帧数)、60 FPS、以及120 FPS等&#xff0c;帧率的提升可以使视频动画更加流畅。在实质上&#xff0c;视频渲染就是动画渲染&#…

大厂的数据质量中心系统设计

日常工作中&#xff0c;数据开发上线完一个任务后并不是就可以高枕无忧&#xff0c;时常因上游链路数据异常或者自身处理逻辑的 BUG 导致产出的数据结果不可信。而问题发现可经历较长周期&#xff08;尤其离线场景&#xff09;&#xff0c;往往是业务方通过上层数据报表发现数据…

[计算机网络]---UDP协议

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、端口号…

[职场] 质量管理涉及哪些方面 #职场发展#笔记#经验分享

质量管理涉及哪些方面 质量管理是一种管理方法和理念&#xff0c;旨在确保产品、服务或流程符合预期的质量标准和要求。它涉及制定质量政策和目标、制定质量计划、执行质量控制措施、进行质量评估和持续改进等活动。 质量管理员是负责管理和维护质量管理体系的专业人员。他们负…

Spring6学习技术|IoC+基于xml管理bean

学习材料 尚硅谷Spring零基础入门到进阶&#xff0c;一套搞定spring6全套视频教程&#xff08;源码级讲解&#xff09; IoC 控制反转。是一种设计思想。 1.获取bean对象的方法 通过id&#xff0c;通过class&#xff0c;和双重方式。 ApplicationContext context new Cla…

被列入黑名单发送邮件失败

现在的虚拟主机产品&#xff0c;基本上都提供域名的企业邮箱服务&#xff0c;用户使用企业邮箱也比较普遍&#xff0c;在使用过程中&#xff0c;如果一旦发生发件人IP被列入黑名单&#xff0c;将严重影响您发邮件。 上周有一个使用Hostease的虚拟主机的客户&#xff0c;联系hos…

C语言easyx飞机大战源码+素材(大屏版)

在上一期的博客中给大家分享了小屏版的飞机大战的源码和素材 往期回顾: C语言easyx飞机大战源码+素材 (点击这里进入) 今天给大家带来一个更高级的飞机大战版本 废话不多说,直接看效果 看着不错吧 接下来给大家看看部分源码 #include "stdafx.h" #include &…

Linux编辑器——Vim详解

目录 ⭐前言 ⭐vim的基本概念 ⭐vim的基本操作 ⭐vim命令模式命令集 ⭐vim末行模式命令集 ⭐简单vim配置 ⭐配置文件的位置 ⭐常用配置选项 ⭐前言 vi/vim的区别简单点来说&#xff0c;它们都是多模式编辑器&#xff0c;不同的是vim是vi的升级版本&#xff0c;它不仅兼容…

JZ65 不用加减乘除做加法(,^)

一&#xff1a;题目 二&#xff1a;思路 三&#xff1a;代码 int Add(int num1, int num2 ) {//ab (a ^ b)(a&b<<1)//num2 0 时表示没有进位了while(num2){int tmp num1;//得到不进位的数据num1 num2 ^ tmp;//得到进位的数据num2 (tmp&num2)<<1;}ret…

【MySQL】如何处理DB读写分离数据不一致问题?

文章内容 1、前言读写库数据不一致问题我们如何解决&#xff1f;方案一&#xff1a;利用数据库自身特性方案二&#xff1a;不解决方案三&#xff1a;客户端保存法方案四&#xff1a;缓存标记法方案五&#xff1a;本地缓存标记 那DB读写分离情况下&#xff0c;如何解决缓存和数据…

Open CASCADE学习|为什么由Edge生成Wire不成功?

Wire 是一种复合形状&#xff0c;不是由几何形状构建的&#xff0c;而是由边缘的装配构建的。BRepBuilderAPI_MakeWire类可以从一个或多个Edge构建Wire&#xff0c;或将新Edge连接到现有Wire。 BRepBuilderAPI_MakeWire 类将Edge连接到Wire。添加新Edge时&#xff0c;如果其顶点…

云呐智能运维硬件包括哪些?智能运维体系包括哪些?

智能运维体系时&#xff0c;能够详细了解该体系包含的各个组成部分。具体来说&#xff0c;我们应该知道智能运维体系中涉及的软件组件有哪些&#xff0c;以及这些组件是如何相互协作以实现高效运维的。此外&#xff0c;智能运维体系中使用的硬件设备感兴趣。列举了智能运维硬件…