Linux基础2-权限2(操作权限,粘滞位,umask,目录文件的rwx权限)

news2024/11/16 6:30:52

上篇内容:Linux基础2-权限1(用户,权限是什么?)-CSDN博客

目录

一. 权限的操作(命令)

1.1 chmod

1.2 chown

1.3 chgrp

二. 粘滞位

三. umask(遮掩码)

四. 目录文件的 r w x 权限


一. 权限的操作(命令)

        当用户和文件进行匹配的时候,会依次从 拥有者,所属组,其他人进行匹配。且一旦匹配成功就不会向后继续匹配。

        root用户不受读写的约束。

rwx 三种权限可以使用二进制表示,如 r-x 就能表示为 101 (5),--x 表示为001 (1)

更改权限的三种命令

1.1 chmod

        该命令用于修改 rwx 三种权限

用法:

        chmod [+ / -][a/u/g/o] [/r/w/x/rw/rx/wx/rwx]

说明:

        + - 表示增加或者减少该种权限。

        a/u/g/o 分别表示对三种身份,拥有者,所属组,其他人的权限进行修改

        r/w/x/rw/rx/wx/rwx 表示要修改哪一种权限

举例:

也能使用二进制替代 rwx 

        如 chmod 111 表示拥有者更改为1,所属组更改为1,其他人更改为1 即 --x--x--x

        如 chmod 765 表示拥有者更改为7,所属组更改为6,其他人更改为5 即 rwxrw-r-w

如下图:

       

1.2 chown

        chown用于更改一个文件的拥有者。该命令只能root用户使用!

用法:

        1. chown 用户名 目标文件(将目标文件改为输入的用户)

        2. chmwn 用户名:所属组 目标文件(同时可以更改文件的所属组)

举例:

        

1.3 chgrp

        chgrp用于更改文件的所属组,且不需要使用root。(但必须是属于自己的文件才能修改)

举例:

二. 粘滞位

        粘滞位是在一个公共目录下,大家一起进行文件操作。这个目录一般是由root用户创建

        Linux中有很多用户,有时候我们需要在同一个目录下进行文件操作(增删查改),这个目录是tmp。

        ll /         即可看到一个公共目录tmp     

   

        当一个用户在tmp创建了一个文件,他只让自己进行读,写,执行。那么其他人就不能够进行读,写执行,但是其他人可以删除这个文件!(可以删除的原因是这个公共目录也是其他人拥有的,其他人对这个目录都读写执行的权限,有写权限就能够删除这个目录中的文件)

        当我们想创建一个公共目录,大家都可以进行自己的rwx操作。但是禁止各自删除其他人的文件,这个时候就需要设置粘滞位(所以粘滞位是一种特殊的权限,由root设置)

        由于这个错误是由于目录文件产生的,所以我们在目录上设置粘滞位

设置方法:

        chmod t 目标目录

这个只能由root进行设置,且root可以随意删除文件(root不受权限的约束)

三. umask(遮掩码)

        1. 我们创建的目录文件和普通文件,它的权限为什么是我们所看到的?(面试题)

如下图:

为什么 test(目录文件) 是 rwxrwxr-x,而test.c(普通文件)是rw-rw--r-呢?

这个由于Linux规定:

        目录文件起始权限是 777 即 rwx rwx rwx

        普通文件起始权限是 666 即 rw- rw- rw-

但是我们看到的是 775 rwxrwxr-x 和 664 rw-rw-r-- 呢?

这是由于有 umask存在,对于普通用户来说umask是 0002,root用户是0022

 

umask后三位 0 0 2 用二进制表示为 000  000  010,这表示所有文件的其他人的 w 权限会被去掉

所以我们看到的是test和test.c 其他人的w权限都去掉了

我们再切换成root查看以下

所以会去掉文件所属组和其他人的w权限,所以:

test 由         rwx rwx rwx 变为 rwx r-x r-x

test.c 由      rw- rw- rw-  变为 rw-r--r--

使用 umask 数字 即可临时修改umask码

举例:

修改为 0111,说明所有文件的拥有者,所属组,其他人的x权限都没有了!

四. 目录文件的 r w x 权限

        对于普通文件,我们知道:

r权限:表示可以查看文件里的内容

w权限:可以修改文件的内容

x权限:可以执行这个文件

但是对于目录文件

r权限:表示能不能看这个目录里面的内容和属性,即能不能使用 ls

w权限:表示能不能在这个目录里面进行创建,修改,删除文件

x权限:表示能不能进入这个目录

如果我们想要进入一个目录文件,需要什么权限?

        答:需要x权限。

这也解释了为什么目录的起始权限是777,因为我们需要x权限进入这个目录

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

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

相关文章

数据库的操作:SQL语言的介绍

一.前言 SQL是一种结构化查询语言。关系型数据库中进行操作的标准语言。 二.特点 ①对大小写不敏感 例如:select与Select是一样的 ②结尾要使用分号 没有分号认为还没结束; 三.分类 ①DDL:数据定义语言(数据库对象的操作(结…

服务器重装系统,数据备份 容器备份

文章目录 1.前言2.docker备份2.1 容器备份2.2 镜像备份2.3 数据卷备份 3.docker安装4.jdk安装5.导入镜像6.导入容器 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信&a…

【最新华为OD机试E卷-支持在线评测】计算疫情扩散时间(200分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,…

DDComponentForAndroid:探索Android组件化方案

在现代Android应用开发中,随着应用规模的不断扩大,传统的单体应用架构已经无法满足快速迭代和维护的需求。组件化架构作为一种解决方案,可以将应用拆分成多个独立的模块,每个模块负责特定的功能,从而提高代码的可维护性…

2.ChatGPT的发展历程:从GPT-1到GPT-4(2/10)

引言 在人工智能领域,自然语言处理(NLP)是连接人类与机器的重要桥梁。随着技术的不断进步,我们见证了从简单的文本分析到复杂的语言理解的转变。ChatGPT,作为自然语言处理领域的一个里程碑,其发展历程不仅…

【C/C++】C++程序设计基础(继承与派生、多态性)

目录 八、继承与派生8.1 派生类的引入与特性8.2 单继承8.3 同名成员的访问方式8.4 赋值兼容规则8.5 单继承的构造与析构8.6 多继承 九、多态性9.1 运算符重载9.2 虚函数9.3 纯虚函数与抽象类 八、继承与派生 8.1 派生类的引入与特性 -继承:一旦指定了某种事物父代的本质特征&a…

线程相关内容

线程 一、介绍二、thread库1、构造函数(1)函数(2)说明(3)注意 2、join函数3、detach4、joinable函数5、get_id函数 三、mutex的种类1、mutex(1)介绍(2)lock&a…

vant UI之van-tab如何实现标题两行显示

前言: 相必大家在开发移动端或者小程序时都会见到如下设计稿 这个时候大家基本上都会想到使用vant UI 的van-tab组件,如果实现不了那就自己封装一个tab组件这样的情况。 其实使用van-tab是可以实现的,不过要借助van-tab的一系列api和css&…

数据结构(2):LinkedList和链表[1]

下面我们来介绍一种新的数据结构,链表。 我们曾经讨论过顺序表。它的数据存储在物理和逻辑上都是有逻辑的。而我们今天要学习的链表,则在物理结构上非连续存储,逻辑上连续。 1.链表的认识 链表由一个一个的节点组成。 我们可以想象一列火…

乐鑫安全制造全流程

主要参考资料: 【乐鑫全球开发者大会】DevCon24 #10 |乐鑫安全制造全流程 乐鑫官方文档Flash加密: https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/security/flash-encryption.html 【ESP32S3】使用 Flash 下载工具完成 Flash 加密功能…

C++ | Leetcode C++题解之第394题字符串解码

题目&#xff1a; 题解&#xff1a; class Solution { public:string src; size_t ptr;int getDigits() {int ret 0;while (ptr < src.size() && isdigit(src[ptr])) {ret ret * 10 src[ptr] - 0;}return ret;}string getString() {if (ptr src.size() || src[…

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目&#xff1a; 题解&#xff1a; static const int MASK1 1 << 7; static const int MASK2 (1 << 7) (1 << 6);bool isValid(int num) {return (num & MASK2) MASK1; }int getBytes(int num) {if ((num & MASK1) 0) {return 1;}int n 0;in…

windows电脑自动倒计时关机

今天聊一聊其他的。我时不时的有一个需求&#xff0c;是关于在windows电脑上定时关机。 不知道怎么地&#xff0c;我好几次都忘了这个自动定时关机的终端命令&#xff0c;于是每一次都要去网上查。 1.鼠标右击【开始菜单】选择【运行】或在键盘上按【 WinR】快捷键打开运行窗口…

【变化检测】基于STANet建筑物(LEVIR-CD)变化检测实战及ONNX推理

主要内容如下&#xff1a; 1、LEVIR-CD数据集介绍及下载 2、运行环境安装 3、STANet模型训练与预测 4、Onnx运行及可视化 运行环境&#xff1a;Python3.8&#xff0c;torch1.12.0cu113 likyoo变化检测源码&#xff1a;https://github.com/likyoo/open-cd 使用情况&#xff1a…

力扣周赛:第414场周赛

&#x1f468;‍&#x1f393;作者简介&#xff1a;爱好技术和算法的研究生 &#x1f30c;上期文章&#xff1a;[首期文章] &#x1f4da;订阅专栏&#xff1a;力扣周赛 希望文章对你们有所帮助 本科打ACM所以用的都是C&#xff0c;未来走的是Java&#xff0c;所以现在敲算法还…

探索未来住宿新体验:酒店智能开关引领的智慧生活

酒店智能开关作为智慧酒店的重要组成部分&#xff0c;正悄然改变着我们的旅行住宿方式&#xff0c;让每一次入住都成为一场科技与舒适的完美邂逅。 智能开关&#xff1a;重新定义酒店房间的每一个角落 传统酒店中&#xff0c;房间的灯光、空调、窗帘等设备的控制往往依赖于手动…

LCD字符图片显示——FPGA学习笔记11

一、字模显示原理 字模数据&#xff1a;将这个0/1矩阵按照屏幕扫描的顺序以字节的形式体现。 取模软件设计&#xff1a; 点阵数要按照实际情况填写 二、实验任务 本节的实验任务是通过开发板上的RGB TFT-LCD接口&#xff0c;在RGB LCD液晶屏的左上角位置从上到下依次显示图片以…

【数据结构】希尔排序(缩小增量排序)

目录 一、基本思想 1.1 引入希尔排序的原因 1.2 基本思想 二、思路分析 三、gap分组问题 四、代码实现 4.1 代码一&#xff08;升序&#xff09; 4.2 代码二&#xff08;升序&#xff09; 五、易错提醒 六、时间复杂度分析 七、排序小tips 一、基本思想 1.1 引入希尔…

Vue3:<Teleport>传送门组件的使用和注意事项

你好&#xff0c;我是沐爸&#xff0c;欢迎点赞、收藏、评论和关注。 Vue3 引入了一个新的内置组件 <Teleport>&#xff0c;它允许你将子组件树渲染到 DOM 中的另一个位置&#xff0c;而不是在父组件的模板中直接渲染。这对于需要跳出当前组件的 DOM 层级结构进行渲染的…

15.1 JDBC数据库编程1

目录 15 引言 15.1.1 数据库语言SQL 15.2 JDBC体系结构 15.2.1 JDBC访问数据库 15.2.2 JDBC API介绍 15 引言 数据库系统&#xff08;database system,DBS&#xff09;由一个互相关联的数据集合和一组用以访问这些数据的程序组成。这个数据集合通常称为数据库。 …