[Linux] 权限

news2024/12/27 12:42:04

标题:[Linux] 权限

@水墨不写bug



目录

一、Linux下对用户的分类

 二、Linux的文件访问者的分类

三、修改文件的属性

1.修改文件的权限 (只有拥有者和root可以修改某一个文件的权限)

2.修改文件的拥有者

3.修改文件的所属组

四、文件创建的默认权限

五、权限的具体内容(影响)

六、粘滞位


正文开始:

一、Linux下对用户的分类

        我们知道,在Linux系统下,用户分为两类,一类是普通用户,另一类是超级用户;超级用户与普通用户的区别在于权限的大小不同

        相对来说,普通用户的部分权限收到限制,而超级用户可以在Linux下做任何事情,不收任何限制。

        如何在登录情况下区分查看自己是普通用户还是超级用户?超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

         从超级用户(root)切换为普通用户:(不需要输入密码,可以直接切换)

su 用户名

        从普通用户切换为超级用户:(直接su,但是需要输入root密码)

su

 二、Linux的文件访问者的分类

        文件的访问者分为三类:文件和文件所有者的所有者:u——User;文件和文件所有者所在的组的用户:g——Group;其他用户:o——Others。

        当我们打开一个文件目录时,我们首先最先看到的就是文件前面的一串的字符,这一串字符就表明了这个文件的对访问者(所有者,所属组,其他用户)的权限

         仔细数一数,这一段字符有10个,这一段字符按照意义可以分为“ 1 + 3 + 3 + 3”:

        第一个字符为文件类型,2-10位三三一组分别代表拥有着、所属组、others的三种文件访问者的权限

  前十位字符之后的标识的含义如下:

 

特别的,对于第一位文件类型常用的类型标识有:

d:文件夹

-:普通文件

 现在我们知道了后面9位表示权限,但是他们分别代表什么意思:

r:代表有“read读”权限

w:代表有“write写”权限

x:代表有“execute执行”权限

-:代表不具有这个权限

         每个文件访问者对应三个字符,rwx,这三个字符每个都有两种状态:具有或者不具有。

        所以,每个文件访问者的权限都有 2^3 = 8 种状态。这8种状态既可以用“rwx和-”表示,也可以用二进制位0/1表示。

比如,下面这个文件:

其9位权限也可以标识为:拥有者:110        所属组:110        others:100

三、修改文件的属性

1.修改文件的权限 (只有拥有者和root可以修改某一个文件的权限)

        我们知道了文件权限的表示方法,但是,接下来怎么修改文件的权限?

(1)指定某一个文件访问者的某权限的变化

        命令:chmod 用户标识符+(-)(rwx的一个或者多个) 文件名称

(2)通过三位8进制数字改变某权限的变化

命令:chmod 三位8进制数 文件名称

补充用户标识符:

        u:拥有者

        g:拥有者同组

        o:其它用户

        a:所有用户

        -R:代表递归的修改目录文件的权限

2.修改文件的拥有者

命令:chown 交给的目标用户 移交的文件

注意:chown -R 交给的目标用户 移交的文件夹 (-R选项表示递归进行)

3.修改文件的所属组

命令:chgrp 目标所属组 移交的文件

注意:chgrp -R 目标所属组 移交的文件夹 (-R选项表示递归进行)


四、文件创建的默认权限

        新建文件夹的默认权限=0666,新建目录的默认权限=0777。但是我们实际上创建的文件并不是上面这个值,因为创建文件或者目录的时候,权限还受到umask的影响。

        记默认权限为mask,则实际创建出来的文件的权限为mask & ~umask

umask的值是可以查看并手动设置的,查看umask

命令:umask 

 设置umask

命令:umask 三位8进制数

五、权限的具体内容(影响)

对于文件:

        r:具有读取文件内容的权限

        w:具有修改文件内容的权限

        x:具有执行文件的权限

对于目录:

        r:具有浏览该目录信息的权限;如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容

        w:具有删除移动目录内文件的权限;如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件

        x: 具有进入目录的权限;如果目录没有可执行权限, 则无法cd到目录中

        关于目录的权限,其实可以理解为目录的可执行权限是表示你是否可在目录下执行命令。

        如果没有目录的可执行权限,则无法对目录执行任何命令,甚至无法cd进入目录。

        目录的r权限非常容易犯错,不能认为有r权限就可以进入目录读取目录下的文件。

        如果有可执行权限而没有读权限,则我可以在目录下执行命令,但是由于没有读权限,所以在目录下执行ls时,无法读取目录内的文件。


六、粘滞位

        通过上面的关于权限的讲解,我们会发现一个问题如果A在一个共用的目录中创建一个目录文件,作为自己的工作区。由于目录是公用的,所以理所当然每个人都有共用目录的w权限。下班后,B突然把A创建在共用目录中的文件夹删除了,这非常不合理!

        A创建的一个目录,B凭什么可以删掉?为了解决这个问题Linux引入了粘滞位的概念:

当一个目录的权限 加上 命令:

chmod +t 

这个目录就被设置了粘滞位,这样以后,该目录下的文件只能由超级管理员删除、该目录的所有者删除、该文件的所有者删除。


完~

未经作者同意禁止转载

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

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

相关文章

Pytorch中不同的Norm归一化详细讲解

在做项目或者看论文时,总是能看到Norm这个关键的Layer,但是不同的Norm Layer具有不同的作用,准备好接招了吗?(本文结论全部根据pytorch官方文档得出,请放心食用) 一. LayerNorm LayerNorm的公…

统计学第5天

要观察性别和在线上买不买生鲜食品有没有关系,在现实生活中,女性通常去菜市场买菜的比较多,那么在线下是不是也是这样呢? 卡方统计量 如果研究的是两个类别变量,每个变量有多个类别,通常将两个变量多个类别…

ant design vue+vue3+ts+xlsx实现表格导出问excel文件(带自定义表头)~

1、首先默认你已安装ant design vue、xlsx 库、及file-saver。 2、导入: import * as XLSX from xlsx; import { saveAs } from file-saver; 注:这里的xlsx导入不能这么写,否则会报错,原因是版本不一致,语法向上兼容…

【多线程】线程间通信 之虚假唤醒和中断

两个线程,可以操作初始值为0的一个变量,实现一个线程对该变量1,一个线程对该变量-1,实现交替,来10轮,变量初始值为0,以实现此问题作为引入,简化我们的理解 文章目录 一、两个线程syn…

EasyExcel实现复杂Excel的导入

最近项目中遇到一个复杂的Excel的导入,并且数据量较大。因为数据不规则,所以只能使用POI进行自定义读取,但是发现数据量大之后,读取数据非常耗时。后面换成EasyExcel,性能起飞。 1. Excel样板 如上图,需要…

leetcode 12. 整数转罗马数字

解题思路 1.首先,将值与对应字符用字典来表示,然后将符号对应的值按有序顺序存储至列表中sums 2.将要转换的整数转换成列表形式,遍历列表,每次遍历: 将值取出来算出对应所在位置的实际值 如 32 对应列表 [3,2] 则 3实…

【二叉搜索树】K型与KV型二叉搜索树简单实现

关于我: 睡觉待开机:个人主页 个人专栏: 《优选算法》《C语言》《CPP》 生活的理想,就是为了理想的生活! 作者留言 PDF版免费提供:倘若有需要,想拿我写的博客进行学习和交流,可以私信我将免费提供PDF版。…

中国电子学会Python3级等级考试202403客观题解析1

一、单项选择题 1、在 Python 中,hex(2023)的功能是?( ) A 将十进制数 2023 转化为十六进制数 B 将十进制数 2023 转化为八进制数 C 将十六进制数 2023 转化为十进制数 D 将八进制数 2023 转化为十进制数 答案:A…

linux如何查看内存条是ddr几代

在 Linux 系统中,可以通过以下几种方法查看内存条的类型和代数(如 DDR3、DDR4 等): 1. 使用 dmidecode 命令 dmidecode 是一个工具,它可以从系统的 DMI 表(也称为 SMBIOS 表)中提取硬件信息&a…

半导体制造业“电”亮未来,APView500护航电能质量新篇章

在科技日新月异的今天,半导体制造业作为信息技术的心脏,其生产效率与稳定性直接关乎国家科技实力与产业升级。然而,这一高精尖领域却长期面临电能质量问题的严峻挑战,尤其是谐波污染与电压暂降/中断两大难题,如同潜伏的…

springboot中上传图片到阿里云的oss云存储

上篇演示了如何将图片上传到本地,但是在实际项目中,这样是很占服务器存储空间的。所以,我们一般的解决方案是使用oss云存储。这里就结合阿里云的oss来实现下这个业务功能。 安装依赖 参考官网即可,https://help.aliyun.com/zh/oss/developer…

SOEX从去中心化的链上社交关系到创收策略

是时候摆脱传统的在线社区,真正进入 Web3 了,利用区块链的力量,并理解社交互动的意义远不止分享内容或复制交易。代币化将赋能参与提升到一个全新的水平,并带来一系列新的机会。 社交网络可以发挥强大的作用,尤其是从…

Carmaker Hil部署

本文主要简单介绍carmaker HIl的部署(Windows环境) carmaker HIL的上位机与Xpack 4的下位机通过一个以太网口进行连接,然后打开上位机的网络连接配置,并关闭防火墙: 打开carmaker HIL的配置,对网络连接进…

这一届“出道”的数字人,已经拿捧上了“铁饭碗”

文 | 智能相对论 作者 | 陈泊丞 好消息!你心心念念的事业单位发录取公告了! 坏消息!他们没录你,录了个数字人。 图片来源网络 随着数字人技术的突破,越来越多的传统企业和机构开始用上了“数字员工”。 甚至很多中…

RFID光触发标签在文件柜管理中的创新应用

在当今信息化时代,文件管理对于企业和机构的重要性不言而喻。传统的文件柜管理方式存在诸多问题,如查找文件困难、管理效率低下、安全性难以保障等。而 RFID 光触发标签技术的出现,为文件柜管理带来了全新的解决方案。 一、传统文件柜管理的…

【C++ Primer Plus习题】9.1

问题: 解答: main.cpp #include <iostream> #include <string> #include "golf.h" using namespace std;#define SIZE 5int main() {golf ann;setgolf(ann, "AnnBirdfree", 24);golf andy;setgolf(andy);showgolf(ann);showgolf(andy);return…

如何组织一场考试答题?

&#x1f469;&#xff1a;我想组织一场考试答题&#xff0c;考完后可以导出所有考生的成绩&#xff0c;我还需要查出哪些人是没有参加考试的&#xff0c;这个能实现吗&#xff1f; &#x1f64b;&#xff1a;支持的 下面将以【如何组织一场考试答题】为主流程展开介绍 &#x…

第L2周:机器学习-线性回归

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标&#xff1a; 学习简单线性回归模型和多元线性回归模型通过代码实现&#xff1a;通过鸢尾花花瓣长度预测花瓣宽度 具体实现&#xff1a; &#xff08;一&…

走进酿酒车间:探寻白酒酿造的每一步

在古老的华夏大地上&#xff0c;有一种传统而不同的技艺——白酒酿造。它不仅承载了中华民族千年的文化积淀&#xff0c;更蕴含了无数酿酒师的匠心与智慧。今天&#xff0c;让我们一同走进豪迈白酒&#xff08;HOMANLISM&#xff09;的酿酒车间&#xff0c;探寻那神秘而又精彩的…

20240903 每日AI必读资讯

Claude 3.5 Sonnet对免费用户关闭&#xff1f; - 免费用户无法使用Claude 3.5 Sonnet模型&#xff0c;只能使用功能简单的Claude 3 Haiku模型。 - Claude 3.5 Sonnet在性能、理解能力、运行速度和视觉处理方面都有显著提升&#xff0c;成为行业新标杆。 - 关闭可能影响用户使…