当前位置: 首页 > news >正文

Linux之权限(内容详细,细节满满)

个人主页:点我进入主页

专栏分类:C语言初阶      C语言程序设计————KTV       C语言小游戏     C语言进阶

C语言刷题       数据结构初阶    Linux

欢迎大家点赞,评论,收藏。

一起努力

目录

一.前言

二.权限修改的两种方法

2.1利用字符修改

2.1.1Linux中文件的类型

2.1.2拥有的权限以及对文件属性的解读

2.1.3权限的修改

2.1.3.1root用户和其他用户的区别

2.2 使用八进制进行修改

2.3 umask

 三.修改拥有者和所属组

四.粘滞位 


一.前言

        在Linux中用户分为超级用户和普通用户,今天我们主要讲解一些修改权限,有无权限的差别,我们主要通过一些的实验来展示一下我们的操作,大家可以跟着一起来感受一下权限的操作。我们知道文件是文件内容加文件属性,文件属性应该怎么去查看呢?如何去增加和减少权限,如何实现共享文件,以及共享文件中的粘滞位有什么作用,应如何去实现?这些问题在这篇博客中我会使用三个用户为大家一一解答,大家要看仔细呦;

二.权限修改的两种方法

2.1利用字符修改

        我们使用ll可以查看文件的属性输入ll可以看到

其中4096是文件占用4096个字节,第一个root表示这个文件的拥有者,第二个root表示文件的所属组,Jan 16 17:22表示文件最近的修改日期,y表示文件的文件名,对于drwxr-xr-x,我们首先需要知道d的含义,

2.1.1Linux中文件的类型

        在Linux中d表示目录文件,在我们经常使用的类型中包括说到文件类型,我们知道windows中我们文件的类型通过后缀名来区分的,例如我们的.exe文件,.c文件等但是在Linux中我们的文件类型是否也是通过文件的后缀名来区分呢?事实上我们是通过文件属性前面的一个字符来区分的例如我们上面的y文件中的drwxr-xr-x中的第一个字符d,这就是表示目录文件,还有那些文件类型呢?-类型的文件,这是普通文件,d类型的文件是目录文件,还包括l:软链接(类似Windows的快捷方式)b:块设备文件(例如硬盘、光驱等)p:管道文件c:字符设备文件(例如屏幕等串口设备)s:套接口文件,在前面连个文件类型中我们是经常使用的。我们应该如何去验证Linux中的文件后缀不是文件的类型呢?我们可以通过写一个.c文件利用gcc进行编译产生a.out文件,我们对它进行修改文件名看是否可以执行呢?

我们先执行一遍

我们修改a.out的名字为a.txt然后执行文件看是否可行

我们看到程序依旧执行了,那我们就可以得到在Linux中文件的后缀不影响文件的类型。又有人有一些疑问那我将test.c的后缀改成test.txt再使用gcc对其进行编译为什么不行呢?

我们可以看到出错了?不是说Linux文件的后缀不是文件的类型吗?这句话确实没有错,但是gcc的要求不是这样的,我们应该知道Linux≠gcc,两个的要求不同,我们应该理性的去看待他们两个。

我们看图现在我们知道了drwxr-xr-x中d表示文件的类型。

2.1.2拥有的权限以及对文件属性的解读

        那么rwxr-xr-x表示什么呢?首先我们需要知道Linux中我们有三种角色拥有者,所属组,其他,rwxr-xr-x就是所这三种角色的权限是什么样子的,这时候我们需要知道rwx表示的是什么意思

r:表示文件具有可读属性(也就是说我们可以用ls指令查看文件的属性和文件的内容);

w:表示文件具有可写属性(也就是说我们可以增加删除修改文件的内容或者目录里面的内容);

x:表示文件具有可执行属性(也就是说我们是否能执行某个文件例如cd文件这就需要我们具有x属性)。

如果具有这些属性就会显示相应的字符,如果没有就会显示-符号,并且顺序一定,权限表示的讲人分别是拥有者,所属组,其他,例如rwxr-xr-x表示拥有者具有rwx权限,所属组有rx权限,其他人有rx权限。我们对

进行完整的解读就是文件名为y的文件是目录文件,拥有者root具有rwx权限,所属组root具有rx权限,其他人具有rx权限,占用4096个字节,最近修改时间为Jan 16 17.22。 

2.1.3权限的修改

        文件权限的修改需要我们的chmod指令,那chmod指令应该如何使用呢?首先我们需要知道我们修改谁的权限:

u:拥有者

g:所属组

o:其他人

a:所有人

我们知道对谁进行修改权限我们还需要知道修改哪些权限,我们知道权限有rwx三种,我们还需要知道是增加权限还是减少权限,这需要我们的符号+-,其中+表示增加权限,-表示减少权限。我们还需要我们的目标文件,我们的格式为文chmod 对象+-权限 目标件,这样就可以进行权限的修改,首先我们在root用户中对a文件进行修改,

例如我们想要让其他人具有rwx权限我们输入chmod o+rwx test1.txt指令就可以了

我们的普通用户是其他人,,我们进行实验看看有没有rwx属性,我们在普通用户中输入ls -ld a指令

所以具有r权限,我们输入指令touch a/test.txt指令

我们可以看到可以增加删除文件所以具有w属性,我们cd a可以判段有没有x属性

我们删除o的权限我们再看看能不能实现

我们输入ll a可以看到

我们输入mkdir a/test.txt

我们输入cd a

我们可以看到我们都没有权限

如果我们想修改多个人的权限,我们可以输入chmod u+rwx,g+rwx,o+rwx a可以实现所有人有全部权限。

2.1.3.1root用户和其他用户的区别

        我们知道普通用户想要对文件进行修改访问,执行需要权限吗,但是对于root我们需要知道,这个不需要权限也能访问,root就像一个老流氓一样可以在任何地方进行访问,我们可以看看以下示例:我们输入指令chomd a-rwx a我们可以看到我们取消了所有人的权限,我们试试能不能进行访问

我们在它里面创建一个test.txt,然后进入里面看能不能进行访问和执行,

 

我们可以看到我们进入了目录a里面说明有x权限,增添了文本test.txt说明有w权限,执行了ll说明具有r权限,这就是我们的root用户。

2.2 使用八进制进行修改

        我们可以将权限的选项看成1和0,有这个权限就是1,没有这个权限就是0,例如我们具有的权限是rwx对应的二进制就是111,对应的八进制就是7,我们想将一个人的权限设置成rwx,我们就可以输入指令 chmod 777 a

我们想设置成000就可以输入指令chmod 000 a

2.3 umask

        在正常情况下我们的目录文件应该全是777,普通文件应该全是666,但是目录文件却是775,普通文件是664,为什么会这样呢?这就是文件掩码,我们输入umask就可以看到我们的文件掩码的值,那值是如何计算的呢?就是777&(~umask),先对umask的二进制未进行取反,然后按位与值,我们以777为例,对应的二进制为111111111,umsk为002,对应000000010,进行取反为111111101,进行按位与为111111101,也就是775.

 三.修改拥有者和所属组

        我们知道我们权限是谁具有什么权限,我们在前面学过了如何去修改权限,在这里我们学习如何去修改拥有权限的人,我们先在root用户下进行

我们想将a.txt的拥有者修改为yang 我们输入指令chown yang a.txt

我们可以看到我们的拥有者是yang,我们想修改所属组我们需要输入指令chgrp yang a.txt可以看到

由于是root账户,可以对任意信息进行修改,我们进入普通用户看看还行不行

我们用text.tga文件进行演示

我们可以看到

 我们不能进行访问,我们知道拥有者和所属组是root我们认为由于不是我们,所以不能进行修改,那我们对a进行修改,看是否可行

我们看到不能进行修改,所以在这里有显示了root和普通用户的区别。

当然我们也可以在前面加上sudo 进行操作。

四.粘滞位 

        在多人进行工作时,我们一些人需要在一个文件中进行工作,为了防止别人进行修改,我们就需要粘滞位,我们输入sudo chmod +t 所属的目录 ,

我们用一个普通用户让他进行删除a.txt

如果想要删除需要是root账号,或者拥有者和所属组才能进行删除。

相关文章:

Linux之权限(内容详细,细节满满)

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 Linux 欢迎大家点赞,评论,收藏。 一起努力 目录 一.前言 二.权限修改的两种方法 …...

了解云工作负载保护:技术和最佳实践

云工作负载是指云环境中的应用程序或存储元素,无论是公共云、私有云还是混合云。每个云工作负载都使用云的资源,包括计算、网络和存储。 云工作负载可以多种多样,例如运行应用程序、数据库或托管网站。它们可以是静态的或动态的,…...

【Godot4自学手册】第三节设置主人公的动画

继续,今天是第三节,我们主要实现主人公的动画效果,共有两种方法实现动画效果 一、通过AnimationPlayer节点实现动画效果 我们首先在player场景下,player节点下添加AnimationPlayer节点,添加方法是,在play…...

excel学习1

直接ctrl cctrl v会报错位移选择粘贴时用123那个数字粘贴而不是ctrl V 只要结果不要公式 上面复制的为数值这里是复制的公式他们两个不一样 这个方法太麻烦了直接用格式刷,选择一个区域一个单元格,不要选择多个一刷就出来了 第一个计算后向下拖就行了&…...

裁员致谷歌中国籍程序员身亡,技术变革下裁员对程序员的影响有多大

裁员,这是一个令无数人心悸的词汇。在瞬息万变的科技时代,裁员仿佛成了不少公司应对困境的“救命稻草”。然而,在这背后,每一名员工,每一个程序员,他们所承担的代价,又有多少人能够深切地理解&a…...

MybatisPlus的主键ID生成策略和公共字段自动填充的使用及注意事项

主键策略(ID自动生成) 以下是MyBatis-Plus中常见的几种主键生成策略及其对应的枚举值(3.3.0之前的版本): 主键生成策略枚举值数据库自增IdType.AUTO用户输入IdType.INPUT分布式全局唯一IDIdType.ID_WORKER分布式全局…...

【GitHub项目推荐--微软开源的可视化工具】【转载】

说到数据可视化,大家都很熟悉了,设计师、数据分析师、数据科学家等,都需要用各种方式各种途径做着数据可视化的工作.....当然许多程序员在工作中有时也需要用到一些数据可视化工具,如果工具用得好,就可以把原本枯燥凌乱…...

Python基础之文件操作(I/O)

和其他编程语言一样,Python 也具有操作文件(I/O)的能力,比如打开文件、读取和追加数据、插入和删除数据、关闭文件、删除文件等。合理应用python提供的文件操作基本函数,可大大提高自动化实现的效率与框架代码的稳定性…...

k8s--helm

什么是helm?在没有这个helm之前,deployment service ingress helm的作用 通过打包的方式,把deployment service ingress等打包在一块,一键式的部署服务,类似yum安装 官方提供的一个类似与安装仓库额功能,…...

算法训练营第五十六天|583. 两个字符串的删除操作 72. 编辑距离

目录 Leetcode583. 两个字符串的删除操作Leetcode72. 编辑距离 Leetcode583. 两个字符串的删除操作 文章链接:代码随想录 题目链接:583. 两个字符串的删除操作 思路:直接记录需要改(增或删)几个,也就是求不…...

使用WAF防御网络上的隐蔽威胁之目录穿越

目录穿越(Directory Traversal)是一种网络安全攻击手段,也被称为路径穿越。 这种攻击允许攻击者访问存储在Web服务器文件系统上的文件和目录,这些文件和目录原本不应该对用户可见或可访问。 通过利用安全漏洞,攻击者…...

Linux:vim的相关知识

目录 vim 是一个较为常见的编译文件的命令操作。 三种模式的区分的作用如下: 命令模式: 插入模式: 进入插入模式的标志:左下角有INSERT 底行模式: 命令模式的常见命令: 底行模式常见命令&#xff1…...

Qt 国产嵌入式操作系统实现文字转语音功能(ekho库)

1.简介 Qt 国产嵌入式操作系统实现文字转语音功能(TTS)_tts驱动 转文字-CSDN博客 在继上篇文章之后,甲方粑粑不满意使用eSpeak发出的声音太难听了,这就不得不找个替代品,声音稍微好听了一些。 使用ekho开源库。 Ekho(余音)是一个免费、开源的中文语音合成软件。它目…...

Redis常见类型及常用命令

目录 常见的数据类型 一、String类型 1、简介 2、常用命令 (1)新建key (2)设值取值 ​编辑 (3)批量操作 (4)递增递减 3、原子性操作 4、数据结构 二、list类型 1、list常…...

实战纪实 | 某配送平台zabbix 未授权访问 + 弱口令

本文由掌控安全学院 - 17828147368 投稿 找到一个某src的子站,通过信息收集插件wappalyzer,发现ZABBIX-监控系统: 使用谷歌搜索历史漏洞:zabbix漏洞 通过目录扫描扫描到后台,谷歌搜索一下有没有默认弱口令 成功进去了…...

【第十五课】数据结构:堆 (“堆”的介绍+主要操作 / acwing-838堆排序 / c++代码 )

目录 关于堆的一些知识的回顾 数据结构:堆的特点 "down" 和 "up":维护堆的性质 down up 数据结构:堆的主要操作 acwing-838堆排序 代码如下 时间复杂度分析 确实是在写的过程中频繁回顾了很多关于树的知识&…...

前端JavaScript篇之JavaScript有哪些数据类型,它们的区别?

目录 JavaScript有哪些数据类型,它们的区别?数据类型区别 JavaScript有哪些数据类型,它们的区别? 数据类型 JavaScript数据类型有: Undefined、Null、Boolean、Number、String、Array、Object、Symbol、BigInt… St…...

LeetCode---380周赛

题目列表 3005. 最大频率元素计数 3006. 找出数组中的美丽下标 I 3007. 价值和小于等于 K 的最大数字 3008. 找出数组中的美丽下标 II 一、最大频率元素计数 这题就是个简单的计数题,正常遍历统计数据即可,关键是你要会写代码逻辑。 代码如下&…...

archlinux 如何解决安装以后没有声音的问题

今天安装完archlinux以后发现看视频没声音 检查一下是否有 /lib/firmware/intel/sof 发现没有 如果你也是这样的话,可以尝试安装: sudo pacman -S sof-firmware 重启后再看看有没有声音: reboot 反正我有声音了...

什么是ORM思想?

1. ORM概念 ORM(Object Relational Mapping)对象关系映射模式,是一种技术,解决了面向对象与关系型数据库存互不匹配的现象。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 2. ORM由来 在软件开发的过程中,通常…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...

C++ 设计模式 《小明的奶茶加料风波》

👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

小木的算法日记-多叉树的递归/层序遍历

🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...