Linux权限和粘滞位

news2024/11/18 14:43:45

目录

一.权限概念

二.用户分类

三.文件权限

1.执行操作的人的分类

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

03.文件权限值的表示方法

四.目录权限与粘滞位


一.权限概念

操作系统用来限制对资源访问的机制,一件事情是否可以被“谁”做,一般在Linux里分成两类,一类是不同的人,一类是事务的分类。

二.用户分类

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

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

就像普通的视频软件一样,root和VIP一样,权限较大,很多事都可以干,几乎没有权限约束。但普通用户但某些事情上就没有权限去操作,等价于一般的非vip用户,无法观看vip视频。

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

三.文件权限

关于文件的权限也可以分成人和属性,文件的属性只有三种,分别是读,写,执行。

那想要去进行写,读,执行等操作的人有哪些分类呢?

1.执行操作的人的分类

文件和文件目录的所有者: u---User
文件和文件目录的所有者所在的组的用户: g---Group
其它用户: o---Others 

可以将其理解成User是文件创建者和所有者,他正在一个小组里工作,和他同组的人应该分为一类,因为他们要协作,剩下的人都归为一类Others。

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

我们使用ll命令来查看文件的详细信息,我们可以知道一列代表文件大小,还有的代表创建时间或者最近修改时间,那么前面几列代表什么呢?

 文件的分组,user,group,others,以及文件类型

 

第一列的不同字母代表了不同类型: 

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
 

 文件针对不同的组的用户给他们开的读,写,执行权限怎么看呢?

总体权限实例 (以文件a.txt为例)

 

03.文件权限值的表示方法

1)字符表示方法


2)八进制表示方法

 

4.文件访问权限的相关设置方法
1)chmod

功能: 设置针对三组人的文件的访问权限
格式: chmod [参数] 权限 文件名
常用选项:R -> 递归修改目录文件的权限

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

chmod命令权限值的格式

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

实例:

 ②三位8进制数字

chmod xxx 文件名

实例:

 2)chown

功能:修改文件的拥有者
格式: chown [参数] 用户名 文件名

注意:普通用户无法将文件随意给其他用户,只有root可以,如果需要可以暂时sudo提权。
实例:

 

3)chgrp

功能:修改文件或目录的所属组
格式: chgrp [参数] 用户组名 文件名
常用选项: -R 递归修改文件或目录的所属组
实例:

 

4)umask

功能:查看或修改文件掩码
新建文件默认权限=0666    新建目录默认权限=0777
但实际上刚创建的文件和目录,看到的权限往往不是默认值。原因是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
格式: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

 

 

四.目录权限与粘滞位

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

就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限,这样子如果root创建公共目录用于不同用户交互的话,有可能a创建的隐私文件设置了其他人不能写,但b却因为有目录的w权限可以删除该文件,这样不合常理。

为了解决这个不科学的问题, Linux引入了粘滞位的概念

chmod +t  目录

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


 


 

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

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

相关文章

【观察】浪潮信息龙蜥联合实验室:打造下一代操作系统,筑牢基础软件创新根基...

毫无疑问,在当今世界日益复杂的竞争环境下,随着中国企业数字化转型的加速和自主创新进程的加快,再加上开源和云计算已成为行业发展的大趋势之下,如何在“变局中开新局”?如何解决中国在核心基础软件领域面临的各种挑战…

Java语法七:文件操作---IO

目录 1.File概述 1.1:File概述的方法 2:文件内容的读写 2.1:字节流 2.1.1:读--InputStream 2.1.2:写---OutputStream 2.2:字符 前言: 这一篇我们将讲文件操作的相关方法,以及…

详解Reflect:Reflect和Object的异同,Reflect的一些内置方法以及方法注意点

Reflect Reflect拥有Object对象的一些内部方法,某些方法会同时在Object对象和Reflect对象上部署,也就是说Object对象上存在的方法,通过Reflect也可以访问到。 单论Reflect的话,可以这么理解,Reflect就是继承了Object的…

C语言学习前序 - VS Code安装

要想学习一门编程语言,首先要有一个好的编程工具,推荐大家使用VS Code。 截止到现在,是我最喜欢的代码编辑工具。 工具下载。 官网地址:https://code.visualstudio.com/ 开始下载了,但是很慢很慢。 下载很慢可以直…

【Leetcode面试常见题目题解】4. 盛最多水的容器

题目描述 本文是LC第11题:盛最多水的容器。 题目描述如下: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多…

.Net 线程安全 (细粒度锁定、无锁机制以及lock)

.Net 线程安全最省事的lock关键字线程安全对象测试环境例子使用Queue源码和结果运行效果使用ConcurrentQueue的源码和结果运行效果volatile关键字易失性内存和非易失性内存的区别易失性内存:非易失性内存:volatile 关键字可应用于以下类型的字段&#xf…

<C++>AVL数

文章目录1. AVL树的概念2. AVL树节点的定义3. AVL树的插入4. AVL树的旋转5. AVL树的验证6. AVL树的性能1. AVL树的概念 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素&#xff0…

MySQL中alter命令知识

MySQL中alter命令知识 文章目录MySQL中alter命令知识(一) 删除、添加、修改字段1、删除表中的字段数据2、添加新字段指定字段插入位置3、修改字段类型和名称(二)、修改表名(三)、修改存储引擎创建copy_emp表,便于后面案…

Prompt Learning 简介

最近去参会,看到了大量关于Prompt相关的论文,或者说跟NLP NLU相关的新论文或多或少都使用到了Prompt learning的一些思想或者设置。由于本人主业不是是做NLP的,所以对NLP顶会的这一现象觉得很有意思,趁闲暇学习了一下Prompt learn…

对话 BitSail Contributor | 姚泽宇:新生火焰,未来亦可燎原

2022 年 10 月,字节跳动 BitSail 数据引擎正式开源。同期,社区推出 Contributor 激励计划第一期,目前已有 12 位开发者为 BitSail 社区做出贡献,成为了首批 BitSail Contributor。 江海的广阔是由每一滴水珠构成的,Bi…

【高阶数据结构】手撕哈希表(万字详解)

🌈欢迎来到数据结构专栏~~手撕哈希表 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句…

【jqgrid篇】jqgrid.setCell 改变单元格的值 改变单元格的样式设置单元格属性

setCellrowid,colname, data, class, propertiesjqGrid对象 改变单元格的值。rowid:当前行id;colname:列名称,也可以是列的位置索引,从0开始;data:改变单元格的内容,如果为空则不更 …

将GO、Pathway富集结果整合在一张高颜值圆圈图上

富集分析是生物医学论文中非常常见的一类分析,例如GO富集分析,Pathway富集分析等。其结果一般包括以下几个要素:1,名字(GO term或者KEGG description);2,该名字所包含的基因数目&…

400G数据中心短距离传输方案:400G QSFP-DD SR8光模块

随着更快、更高可靠性的网络需求增加,400G将是下一代骨干网升级和新建设的方向。400G光模块在构建400G网络系统中起着至关重要的作用。前面我们为大家介绍了短距离单模应用的400G QSFP-DD DR4光模块,本期文章,我们一起来了解一下短距离多模光…

自定义类型:结构体,枚举,联合(2)

TIPS 1. 类型的定义可以考虑放在头文件里头。 2. 一个汉字存储的时候占两个字节空间 3. 关于结构体变量初始化的一些细节 4. 关于结构体内存对齐的补充 1. 2. S1和S2类型的成员一模一样,但是S1和S2所占空间的大小有了一些区别。 3. 这两个结构体类型成员都…

【Linux】六、Linux 基础IO(一)|重谈文件|C语言文件操作|操作系统文件操作(系统文件I/O)|文件描述符

目录 一、重谈文件 二、C语言文件操作 2.1 重谈C语言文件操作 2.2 补充细节 三、操作系统文件操作(系统文件I/O) 3.1 文件相关系统调用:close 3.2 文件相关系统调用:open 3.2.1 open 的第二个参数 flags 3.2.2 open 的第…

解决跨微服务调用token共享问题

场景描述 使用jeecg搭建SpringCloud微服务系统模块,各个系统模块单独创建了拦截器进行权限校验。结果发现跨微服务调用存在鉴权失败问题。不能正常跨微服务调用。 原因描述 单个微服务鉴权拦截器。 package org.jeecg.modules.taxation.inerceptor;import org.s…

【MySQL】MySQL单表操作

序号系列文章2【MySQL】MySQL基本操作详解3【MySQL】MySQL基本数据类型4【MySQL】MySQL表的七大约束5【MySQL】字符集与校对集详解文章目录MySQL单表操作1,数据操作1.1,复制表结构和数据1.2,解决主键冲突1.3,清空数据1.4&#xff…

二叉树详解(概念+遍历实现)

一、基本概念 1.最左孩子结点:一个结点的孩子结点中位于最左边的孩子结点。例如,A——B,B——E; 2.树的高度:树的最高层数; 3.路径长度:树中的任意两个顶点之间都存在唯一的一条路径。一条路径所…

我们这样做容器分层性能测试

前言目前闲鱼不少业务正在从H5/Weex升级到Kun(基于W3C标准&Flutter打造的混合高性能终端容器),从测试角度来看,我们希望这种升级迭代对于用户体验是正向的,所以用好性能测试这把标准尺就显得格外重要。早期做性能保…