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

news2025/1/13 10:32:17

文章目录

  • 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),则该目录下的文件只能由

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

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

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

相关文章

【GameFramework框架内置模块】2、数据节点(Data Node)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q7…

AMD FPGA设计优化宝典笔记(1)触发器

高亚军老师的这本书《AMD FPGA设计优化宝典》,他主要讲了两个东西: 第一个东西是代码的良好风格; 第二个是设计收敛等的本质。 这个书的结构是一个总论,加上另外的9个优化,包含的有:时钟网络、组合逻辑、触…

从starrocks安装说起和Oracle的OLAP殊途同归

StarRocks是一款分析型数据库(他的定语也很多,分布式存算分离等等)。作为数据库他的运行和维护迟早也是落在我这里的。对于做数据库的人都知道什么是交易型数据库,什么是分析型数据库。以及什么是事务分析混合型数据库。但是对于非…

UE5 C++ 静态加载资源和类

一.上篇文章创建组件并绑定之后 在Actor中加载初始化了组件&#xff0c;现在在组件中赋值。使用static ConstructorHelpers::FObjectFinder<T>TempName(TEXT("Copy Reference"))&#xff1b;再用TempName.Object //静态加载资源static ConstructorHelpers::FOb…

2024.2.10 HCIA - Big Data笔记

1. 大数据发展趋势与鲲鹏大数据大数据时代大数据的应用领域企业所面临的挑战和机遇华为鲲鹏解决方案2. HDFS分布式文件系统和ZooKeeperHDFS分布式文件系统HDFS概述HDFS相关概念HDFS体系架构HDFS关键特性HDFS数据读写流程ZooKeeper分布式协调服务ZooKeeper概述ZooKeeper体系结构…

拿捏c语言指针(下)

前言 此篇讲解的主要是函数与指针的那些事~ 书接上回 拿捏c语言指针&#xff08;上&#xff09;和 拿捏c语言指针&#xff08;中&#xff09; ​​​​​​没有看的小伙伴要抓紧喽~ 欢迎关注​​个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#x…

GNU 图像处理程序 (GIMP) - 颜色拾取工具

GNU 图像处理程序 [GIMP] - 颜色拾取工具 References 选择 颜色拾取工具 在图片上选取要拾取位置的颜色&#xff0c;前景颜色会跟着改变 选择画笔工具&#xff0c;在图片上绘制的是选取的颜色 工具选项 -> 设置背景颜色&#xff0c;在图片上拾取为背景颜色 使用 橡皮工具&am…

SQL Developer 小贴士:显示Trace文件

SQL Developer可以识别trace文件&#xff0c;而无需利用tkprof进行转换。 在数据库服务器上生产trace文件。例如&#xff1a; alter session set tracefile_identifierdemo01_02;alter session set sql_tracetrue;-- your SQL here, for example select * from hr.employees;a…

汽车电子论文学习--电动汽车电机驱动系统动力学特性分析

关键重点&#xff1a; 1. 汽车的低速转矩存在最大限制&#xff0c;受附着力限制&#xff0c;因路面不同而变化。 2. 起步加速至规定转速的时间可以计算得到&#xff1a; 3. 电机额定功率的计算方式&#xff1a; 可以采取最高设计车速90%或120km/h匀速行驶的功率作为电机额定功…

LeetCode94.二叉树的中序遍历

题目 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 &#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 思路 中序遍历的顺序是左子树 -> 根节点 -> 右子树。因此&#xff0c;我们可以通过递归的方式遍历二叉树&…

程序员为什么不喜欢关电脑?没有的事!

程序员为什么不喜欢关电脑&#xff1f; 我干程序员 10 年了&#xff0c;这些年确实不怎么关电脑。不过我感觉这个习惯跟程序员这个职业是无关的&#xff0c;假如我今天不干程序员&#xff0c;我估计也照样不关电脑。其实&#xff0c;我们不妨反过来问&#xff0c;你喜欢关电脑…

美容小程序:让预约更简单,服务更贴心

在当今繁忙的生活节奏中&#xff0c;美容预约常常令人感到繁琐和疲惫。为了解决这个问题&#xff0c;许多美容院和SPA中心已经开始采用美容小程序来简化预约流程&#xff0c;并提供更加贴心的服务。在这篇文章中&#xff0c;我们将引导您了解如何制作一个美容小程序&#xff0c…

C#,笛卡尔树(Cartesian Tree)的构造、遍历算法与源代码

Ren Descartes 一、笛卡尔&#xff08;Ren Descartes&#xff09; 勒内笛卡尔&#xff08;Ren Descartes&#xff0c;1596年3月31日-1650年2月11日&#xff09;&#xff0c;1596年3月31日生于法国安德尔-卢瓦尔省的图赖讷&#xff08;现笛卡尔&#xff0c;因笛卡尔得名&#…

手撕qsort函数

前言 本篇主要讲解的是qsort函数细节以及运用实例。 紧跟我的脚步一起手撕qsort函数吧~ 欢迎关注​​个人主页&#xff1a;逸狼 更多优质内容&#xff1a; 拿捏c语言指针&#xff08;上&#xff09; 拿捏c语言指针&#xff08;中&#xff09; 拿捏c语言指针&#xff08;下&…

Job 和 DaemonSet

一、Job 1、Job 背景问题 K8s 里&#xff0c;最小的调度单元是 Pod&#xff0c;如果直接通过 Pod 来运行任务进程&#xff0c;会产生以下几种问题&#xff1a; ① 如何保证 Pod 内进程正确的结束&#xff1f; ② 如何保证进程运行失败后重试&#xff1f; ③ 如何管理多个任…

vue使用Nprogress进度条功能实现

下图中的这种顶部进度条是非常常见的&#xff0c;在vue项目中有对应的插件&#xff1a;Nprogress。 实现效果&#xff1a; csdn也在使用&#xff1a; 或者这样自己使用 1、安装 NProgress可以通过npm安装。 npm install --save nprogress 注意此处的--save等同于-s,就是将…

Arcmap excel转shp

使用excel表格转shp的时候&#xff0c;如果你的excel里面有很多字段&#xff0c;直接转很大概率会出现转换结果错误的情况&#xff0c;那么就需要精简一下字段的个数。将原来的表格文件另存一份&#xff0c;在另存为的文件中只保留关键的经度、纬度、和用于匹配的字段即可&…

RuntimeError: CUDA out of memory.【多种场景下的解决方案】

RuntimeError: CUDA out of memory.【多种场景下的解决方案】 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;【Matplotlib之旅&#xff1a;零基础精通数据可视化】 &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于深度学…

6.2 数据库

本节介绍Android的数据库存储方式--SQLite的使用方法&#xff0c;包括&#xff1a;SQLite用到了哪些SQL语法&#xff0c;如何使用数据库管理操纵SQLitem&#xff0c;如何使用数据库帮助器简化数据库操作&#xff0c;以及如何利用SQLite改进登录页面的记住密码功能。 6.2.1 SQ…

将Windows电脑右下角的“中”字或“英”字输入法状态隐藏的方法

本文介绍在Windows 11操作系统中&#xff0c;将任务栏右下角的语言栏的“中”、“英”标识加以隐藏、消除的一种或许可行的方法。 最近换了新电脑&#xff0c;终于用上了Windows 11操作系统。但是&#xff0c;默认状态下&#xff0c;在任务栏最右侧&#xff0c;也就是屏幕右下角…