【Linux】Linux权限的概念、Linux权限管理、文件类型和访问权限的设置、粘滞位介绍

news2025/3/1 0:08:21

文章目录

  • 1.Linux权限的概念
  • 2.Linux权限管理
    • 2.1文件访问者的分类
    • 2.2文件类型的访问权限
    • 2.3文件权限值的表示方法
    • 2.4文件访问权限的相关设置方法
  • 3.目录的权限
  • 4.粘滞位

1.Linux权限的概念

  在生活中,一件事情是否允许被一个人做,就是叫做权限,权限认证的是身份而且权限还和事物的“属性”有关。

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

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

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

在这里插入图片描述

2.Linux权限管理

2.1文件访问者的分类

  在Linux中,权限是指对文件或目录的访问和操作权限。Linux中的权限分为三个部分:拥有者权限、所属组权限和其他用户权限。每个文件或目录都有一个拥有者和一个所属组,拥有者权限是指文件或目录的拥有者具有的权限,所属组权限是指文件或目录所属群组的成员具有的权限,其他用户权限是指非拥有者和非所属组成员用户具有的权限。

  (1)文件和文件目录的所有者:u—User

  (2)文件和文件目录的所有者所在的组的用户:g—Group

  (3)其它用户:o—Others

2.2文件类型的访问权限

在这里插入图片描述
(1)文件类型

  普通文件(-):就是普通的文件,可以是文本文件、二进制文件等,可以读、写和执行。

  目录文件(d):用来存放其他文件和目录,本身是一个特殊的文件,可以读和执行,但是不能写入。目录文件可以包含多个文件和目录,并且可以嵌套多层。

  符号链接文件(l):是一种指针类型的文件,它指向另一个文件或目录。符号链接文件自身的访问权限没有实际意义,因为权限通过链接指向的文件来控制。

  字符设备文件(c):表示字符设备,如键盘、鼠标、串口等输入输出设备,有一个字符特征设备文件对应,可以读和写。

  块设备文件(b):表示块设备,如硬盘、U盘等设备,有一个块特征设备文件对应,可以读和写。

  命名管道文件(p):是一种进程间通信的机制,用于在两个进程之间传输有限量的数据。命名管道本质上是一种特殊的文件,可以读和写。

  套接口文件(s):也是一种进程间通信的机制,用于两个进程之间传输流数据。套接字看起来像文件,但其实不是一个真正的文件,它是一种特殊的文件,可以读和写。套接字通常用于网络编程中。

  
(2)基本权限
  1.读:Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  2.写:Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  3.执行:execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
  4.“-”表示不具有该项权限

  该文件就表示为普通文件,所有者权限为读写,所属组权限为读写,其他用户权限为仅可读;连接数为1,所属用户和所属组均为wh,文件大小为0,文件最新修改时间为6月23日22:32,文件名为test.txt。
在这里插入图片描述

2.3文件权限值的表示方法

  在Linux系统中,每个文件和目录都有三组权限值,分别是所有者(owner)、所属组(group)、其他用户(others)的权限。针对每组用户的权限都有读、写和执行三种不同的权限。可以通过以下表示方法来表示不同权限的值:

(1)字符表示方法
在这里插入图片描述
(2)8进制数值表示方法
在这里插入图片描述

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

chmod
  功能: 设置文件的访问权限
  格式: chmod [参数] 权限 文件名
  常用选项:
  R -> 递归修改目录文件的权限
  说明:只有文件的拥有者和root才可以改变文件的权限

(1)用户表示符+/-=权限字符
  +:向权限范围增加权限代号所表示的权限
  -:向权限范围取消权限代号所表示的权限
  =:向权限范围赋予权限代号所表示的权限
  用户符号:
  u:拥有者
  g:拥有者同组用
  o:其它用户
  a:所有用户

# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt

(2)三位8进制数字

# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

3.目录的权限

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

[root@localhost ~]# chmod 0777 /home/
[root@localhost ~]# ls /home/ -ld 
drwxrwxrwx. 3 root root 4096 9月 19 15:58 /home/
[root@localhost ~]# touch /home/root.c
[root@localhost ~]# ls -l /home/
总用量 4
-rw-r--r--. 1 root root 0 9月 19 15:58 abc.c
drwxr-xr-x. 27 litao litao 4096 9月 19 15:53 litao
-rw-r--r--. 1 root root 0 9月 19 15:59 root.c
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/root.c #litao可以删除root创建的文件
rm:是否删除有写保护的普通空文件 "/home/root.c"?y
[litao@localhost ~]$ exit 
logout

  但是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.所以为了解决这个不科学的问题, Linux引入了粘滞位的概

4.粘滞位

  在 Linux 系统中,粘滞位(sticky bit)是一种特殊的文件权限位,用于控制某个目录中的文件只有文件拥有者或者管理员才能删除,其他用户即使有删除权限也无法删除。

  粘着位的标志通常用 S 表示。如果在一个目录中的某个文件或目录设定了粘着位,则该文件或目录只能由文件或目录的所有者或管理员删除(或者移动)。其他用户即使对该文件或目录有写权限,也无法删除该文件或目录。此外,在一些 Linux 发行版中,多个用户可以同时在同一个目录下创建临时文件,而粘着位可以防止该目录中的文件被误删或者被其他用户的临时文件覆盖。

  在 Linux 系统中,设置目录的粘着位可以通过 chmod 命令来实现

chmod +t directoryName

  上述命令中,+t 表示设置粘着位,directoryName 表示要设定粘着位的目录名称。还可以通过 ls 命令查看 出现“t”的文件或目录的权限输出信息

[root@localhost ~]# chmod +t /home/ # 加上粘滞位
[root@localhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/abc.c #litao不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"?y
rm: 无法删除"/home/abc.c": 不允许的操作

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由:
  1、超级管理员删除
  2、该目录的所有者删除
  3、该文件的所有者删除

这些就是关于Linux中权限的简单介绍了😉
如有错误❌望指正,最后祝大家学习进步✊天天开心✨🎉

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

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

相关文章

【Leetcode60天带刷】day32回溯算法——122.买卖股票的最佳时机II ,55. 跳跃游戏 ,45.跳跃游戏II

​ 题目: 122. 买卖股票的最佳时机 II 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一…

MYSQL数据库应用中的17个关键问题

一、单Master 单Master的情况是普遍存在的,对于很多个人站点、初创公司、小型内部系统,考虑到成本、更新频率、系统重要性等问题,系统只依赖一个单例数据库提供服务,基本上已经满足需求。这种场景下我觉得重点应该关注的话题有上图…

图像预处理 Tricks【1】:Contours

系列文章目录 文章目录 系列文章目录前言1. cv2.findContours()1.1. 方法概述1.2. cv2.findContours()1.2.1. 轮廓检索模式1.2.2. 轮廓逼近方法 2. cv2.drawContours()2.1. 方法概述2.2. cv2.drawContours() 3. cv2.contourArea()3.1. 方法概述3.2. cv2.contourArea()3.3. 存在…

java springboot整合MyBatis联合查询

前面文章 java springboot整合MyBatis做数据库查询操作写了springboot整合MyBatis的方法 并演示了基础查询的语法 根据id查 那么 我们这次来演示联合查询 我们staff 表 内容如下 每条数据 对应的都有一个departmentid 这是 department部门表的外键id department表内容如下 如…

Redis 分布式缓存

分布式缓存 单点 Redis 的问题及解决 数据丢失:实现Redis数据持久化并发能力:搭建主从集群,实现读写分离存储能力:搭建分片集群,利用插槽机制实现动态扩容故障恢复能力:利用哨兵机制,实现健康…

Linux系统编程(进程基础知识讲解)

文章目录 前言一、进程的概念二、进程的生命周期三、进程树四、进程的创建五、一个进程可以执行几个程序?六、子进程中调用execve函数总结 前言 本篇文章来讲解Linux中的进程,进程在Linux中是非常重要的一个知识点,掌握好进程是非常重要的。…

postgresql源码学习(56)—— explain是如何快速估算pg表行数的

当我们需要大致知道表行数,但又不需要很精确时,可以采用以下方法 一、 统计信息 pg_class.reltuples 最简便的方法是利用pg_class.reltuples,类似oracle的num_rows postgres# select reltuples::numeric from pg_class where relnamepgbenc…

VUE 2X 表单数据过滤器 ⑨

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs收集表单数据过滤器 使用 C o o k i e Cookie Cookie 影响总结 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹…

【计算机组成原理】RISC-V模型机的有限状态控制器设计

目录 一、RISC-V模型机的目标指令集 二、RISC-V模型机的部件设计 三、运算及传送指令的数据通路设计 四、访存指令的数据通路设计 五、转移类指令的数据通路设计 六、RISC-V模型机控制单元CU的有限状态机设计 一、RISC-V模型机的目标指令集 取指令并译码:根据…

编译原理笔记16:自下而上语法分析(3)构造 DFA、DFA 对下一步分析的指导(有效项目)

目录 由 NFA 用子集法构造 DFA由 LR(0) 项目直接构造识别活前缀的 DFA构造 DFA求拓广文法 GCLOSURE & GO例: 构造 DFA DFA 指导下一步分析有效项目 看了前面的内容,我们已经了解到:分析表和驱动器算法,是 LR 分析器的核心。 …

实训四:索引与视图 - SQL视图(teachingdb数据库)

SQL视图的定义与操纵 第1关:创建视图任务描述相关知识视图的定义创建视图 编程要求测试说明参考代码 第2关:创建视图-练习一任务描述相关知识编程要求测试说明参考代码 第1关:创建视图 任务描述 本关任务:建立计算机系的学生的视…

团体程序设计天梯赛-练习集L1篇⑧

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

C语言scanf/fscanf/sscnaf和printf/fprintf/sprintf的区别

总结 1.scanf/printf 是标准输入输出流函数(键盘、屏幕)。 2.fscanf/fprintf 适用于所有输入输出流(文件、键盘、屏幕…)。 3.sscanf/sprintf 是把格式化的数据写入某个字符串中,从某个字符串中读取格式化的数据。 第一组:scanf/printf scanf/printf是…

Oracle数据库从入门到精通系列之十八:详细总结Oracle数据库核心知识点

Oracle数据库从入门到精通系列之十八:详细总结Oracle数据库核心知识点 一、Oracle数据库核心概念二、Oracle非容器数据库三、Oracle容器数据库四、容器数据库和非容器数据库的区别五、Oracle数据库多租户六、Oracle数据库多租户数据库模型七、Oracle数据库类型八、O…

实训四:索引与视图 - MySQL开发技巧 - 索引

MySQL开发技巧 - 索引 任务描述相关知识索引是什么索引的分类索引的创建和删除查询表中索引 编程要求测试说明代码参考: 任务描述 本关任务:按照要求完成索引的创建。 相关知识 为了完成本关任务,你需要掌握: 索引是什么&#…

【Leetcode60天带刷】day31回溯算法——455.分发饼干 ,376. 摆动序列 , 53. 最大子序和

​ 题目: 455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块…

Android 13(T) - binder阅读(3)- binder相关的类

原先准备在binder阅读(3)中记录ServiceManager的使用,但是写着写着发现,如果不了解和binder相关的类,那么阅读起来将会由很多困惑,所以就先来记录binder相关的类了。记录完发现特别凌乱…先就这样吧。 1 UM…

【致敬未来的攻城狮计划】打卡3:点亮LED

点亮LED 本文主要参考文章:【致敬未来的攻城狮计划】— 连续打卡第十一天:FSP固件库开发点亮第一个灯。_嵌入式up的博客-CSDN博客 在32阶段我们已经接触过类似做法了。初始化引脚模式(可以手动库函数,或者在工具包图形化界面里配…

实训四:索引与视图 - MySQL开发技巧 - 视图

MySQL开发技巧 - 视图 任务描述相关知识视图的定义创建视图操作视图删除视图 编程要求测试说明参考代码 任务描述 本关任务:通过学习视图,创建一个单表视图和一个多表视图。 相关知识 为了完成本关任务,你需要掌握: 视图的定义…

工地扬尘智能监测系统 yolov7

工地扬尘智能监测系统通过yolov7网络算法模型技术,实时监测工地施工中的扬尘情况。工地扬尘智能监测系统利用AI视频智能分析技术,并将数据传输到数据中心进行分析。YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队希望它能够同时支…