Linux的有关权限的学习

news2024/12/23 13:34:32

1.认识权限在Linux中的表示

在Linux中,一切皆文件,而每个文件都会有其相对应的操作权限。那么,我们该怎么来认识他们呢?

首先我们可以看到,在每个test文件的前面都会有一个-rw-r--r--这个字符,而这个字符,就是表示这文件的权限。那他是怎么表示的呢?

从第一个-(这个-代表普通文件)算起,他后面的9个字符可以按三三分开,分别是r w -r - -r - -

他们代表着什么意思呢?

r:表示"可读"

w:表示"可写"

x:表示"可执行"

可是这上面也没有"x"这个字符的出现呀。这就得继续研究下去了。

在上面的字符按三三分开中,我们就拿第一组三个来举例。第一组的三个字符分别是r   w   -,如果说第一个字符是可读的,那他那里就表示为"r",否则是"-";如果第二个字符表示的是可写的,拿他那里就表示为"w",否则是"-";如果第三个字符表示可执行的,那么那个地方就是"x",否则是"-"。

到这里,我们已经能大概能看懂文件的权限了。那他一个文件,为什么会出现那么多个w和r呢?为什么会按照三三来分组?

三三分组中的第一组的所属者是"user";第二组的所属者是"group",第三组的所属者是"other"。因而又可以读成user的权限是rw-,group的权限是r--,other的权限是r--。

2.权限的修改

我们已经读懂了文件前面的权限,那么我们不妨可以尝试以下修改文件的权限。

修改权限用到一条指令,这条指令叫做"chmod"

1.第一种修改方式

还是这个图,如果我下给test1.txt的user添加一个"可执行"的权限该怎么做?

指令:chmod u+x test1.txt

我们可以看到,对比修改之前的test1,这里已经给test1加上了"x"的权限。那么由此我们可以得出其它的添加权限或者删掉权限的方法。

给group添加"w"权限。

给other添加"w"和"x"权限。

给other去掉rwx权限。

让所有的所属者去掉所有权限。

2.第二种修改方式

在了解第二种修改方式之前,首先来了解一下权限的二进制形式。

还是按照三三分组,如果在某个字符上有"r" / "w" / "x",则表示为1,否则为0。

因此在框里面的就可以表示为110-110-110,转化成十进制则是6-6-6,这就可以根据输入的数字来进行修改权限了,比较复杂一点,但实用性也是非常高的。

给test1.txt的所有所属者都加上了rw的权限。

给test1.txt的所有所属者加上了rwx的权限。

3.对于文件创建时默认的权限差异

我们在创建目录和普通文件的时候,都会发现前面的权限是不一样的。

这是为什么?

在创建目录和文件的时候,他都会有一个默认的权限是放开的,创建的普通文件,他的默认权限是666,创建一个目录,他的默认权限是777。

而还有一个东西叫做umask,不同的机器的umask是不一样的。这个在最终生成的默认权限中起到了举足轻重的作用。

我们知道,创建一个普通文件,他的默认权限是666,创建一个目录,他的默认权限是777。那对应的写成二进制形式就是110 110 110(这里以普通文件为例),而这边的umask值是0002,转成二进制就是010,给前面补上0就是,000 000 010。

权限的计算方法就是创建的默认权限&(~umask)的值

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

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

相关文章

python实现验证码-图片类型

1 utils.py import randomdef get_random_code():code for i in range(5):# 随机生成大写字母upper_char chr(random.randint(65, 90))lower_char chr(random.randint(97, 122))num_char str(random.randint(0, 9))res random.choice([upper_char, lower_char, num_char]…

【Unity Shader入门精要 第4章】数学基础(二)

1. Unity中的坐标空间 1.1 五个坐标空间 模型空间 模型自身的3D坐标系空间,左手坐标系是一个相对空间,坐标轴指向随模型旋转变化当物体有父节点时,Transform组件中各属性的值表示的即为该物体在其父物体的模型空间中的值当模型顶点传入顶点…

js APIS part2

什么是事件? 事件是在编程时系统内发生的 动作 或者发生的事情。比如用户在网页上 单击 一个按钮 什么是事件监听? 就是让程序检测是否有事件产生,一旦有事件触发,就立即调用一个函数做出响应,也称为 绑定事件或者注册…

亚马逊云科技AWS免费证书-EC2服务器设计(含题库)

亚马逊云AWS官方程序员专属免费证书又来了!这次证书是关于AWS EC2实例的设计和搭建,EC2作为AWS服务的核心,是学好AWS的第一步。强推没有任何AWS背景和转码的小伙伴去学!学完也能变成AWS开发大神! 证书名字叫Getting St…

Python 植物大战僵尸

文章目录 效果图项目结构实现思路源代码 效果图 项目结构 实现思路 下面是代码的实现思路: 导入必要的库和模块:首先,我们导入了Python的os、time库以及pygame库,还有植物大战僵尸游戏中用到的各个植物和僵尸的类。 初始化游戏和…

一机游领航旅游智慧化浪潮:借助前沿智能设备,革新旅游服务效率,构建高效便捷、生态友好的旅游服务新纪元,开启智慧旅游新时代

目录 一、引言 二、一机游的定义与特点 (一)一机游的定义 (二)一机游的特点 三、智能设备在旅游服务中的应用 (一)旅游前的信息查询与预订支付 (二)旅游中的导航导览与互动体…

【JVM】Java工具(Arthas,APM,Java Agent,JMX)

Java工具 常见的Java工具有以下几类: 1、诊断类工具,如Arthas、VisualVM等。 2、开发类工具,如Idea、Eclipse。 3、APM应用性能监测工具,如Skywalking、Zipkin等。 4、热部署工具,如Jrebel等。 Arthas中 Java Ag…

window 安装ai 基础环境(yolo8,训练推理等)

步骤: 1. python sdk 3.9以上 2. 显卡驱动 可以使用驱动精灵 直接安装N 卡推荐 3. 安装机器学习套件CUDA cuda 安装在PyTorch 需要根 PyTorch版本一致,我的 win-srv 最高支持 12.1 下载地址: https://developer.nvidia.com/cuda-toolkit-archive…

吴恩达2022机器学习专项课程(一)正则化(正则化成本函数正则化线性回归正则化逻辑回归)

目录 一.正则化1.1 正则化的好处1.2 正则化的实现方式 二.正则化改进线性回归的成本函数2.1 正则化后的成本函数的意义2.2 λ参数的作用2.3 不同λ对算法的影响2.4 为什么参数b没有正则化项 三.正则化线性回归的梯度下降3.1 为什么正则化可以在梯度下降迭代中减小w3.2 导数的计…

如何使用 GPT API 从 PDF 出版物导出研究图表?

原文地址:how-to-use-gpt-api-to-export-a-research-graph-from-pdf-publications 揭示内部结构——提取研究实体和关系 2024 年 2 月 6 日 介绍 研究图是研究对象的结构化表示,它捕获有关实体的信息以及研究人员、组织、出版物、资助和研究数据之间的关…

Java Jackson-jr 库使用介绍

介绍 Jackson-jr 是一个轻量级的Java JSON 处理库。这个库被设计用来替代 Jackson 的复杂性。对比 Jackson 的复杂 API,Jackson-jr 的启动速度更快,包大小更小。 虽然Jackson databind(如ObjectMapper)是通用数据绑定的良好选择…

Redis---------分布式锁Redisson

概述 Redisson入门 第一步&#xff1a;引入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.13.6</version></dependency> 第二步&#xff1a;配置文件 import org.redisson…

django搭建一个AI博客进行YouTube视频自动生成文字博客

文章目录 一、生成Django框架二、项目代码&#xff08;前端&#xff09;1、编写前端代码&#xff08;正文界面&#xff09;1.1、生产html框架1.2、添加live preview扩展1.3、更改title元素中文本1.4、添加CDN&#xff08;CSS&#xff09;样式链接1.5、nav标签1.6、在body标签中…

全面了解俄罗斯的VK开户和Yandex投放及内容运营

俄罗斯的VKontakte&#xff08;简称VK&#xff09;和Yandex是两个重要的在线平台&#xff0c;对于希望在俄罗斯市场进行推广的企业来说&#xff0c;了解如何在这些平台上开户和投放广告以及内容运营是非常关键的。 俄罗斯vk广告如何开户&#xff1f; 通过上海上弦进行俄罗斯V…

ASP.NET网络在线考试系统

摘 要 随着计算机技术的发展和互联网时代的到来&#xff0c;人们已经进入了信息时代&#xff0c;也有人称为数字化时代。数在数字化的网络环境下&#xff0c;学生希望得到个性化的满足&#xff0c;根据自己的情况进行学习&#xff0c;同时也希望能够得到科学的评价&#xff0c…

(4)步态识别论文研读——增强时空显著性的跨视图步态识别

Enhanced Spatial-Temporal Salience for Cross-View Gait Recognition Enhanced Spatial-Temporal Salience for Cross-View Gait Recognition | IEEE Journals & Magazine | IEEE Xplore 摘要:步态识别可以单独或与其他生物特征相结合&#xff0c;用于个人识别和再识别…

242 基于matlab的3D路径规划

基于matlab的3D路径规划&#xff0c;蚁群算法&#xff08;ACO&#xff09;和天牛须&#xff08;BAS&#xff09;以及两种结合的三种优化方式&#xff0c;对3D路径规划的最短路径进行寻优。程序已调通&#xff0c;可直接运行。 242 3D路径规划 蚁群算法和天牛须 - 小红书 (xiaoh…

Redis---------实现更改数据业务,包括缓存更新,缓存穿透雪崩击穿的处理

三种更新策略 内存淘汰是Redis内存的自动操作&#xff0c;当内存快满了就会触发内存淘汰。超时剔除则是在存储Redis时加上其有限期(expire)&#xff0c;有限期一过就会自动删除掉。而主动更新则是自己编写代码去保持更新&#xff0c;所以接下来研究主动更新策略。 主动更新策略…

docker系列9:容器卷挂载(下)

传送门 docker系列1&#xff1a;docker安装 docker系列2&#xff1a;阿里云镜像加速器 docker系列3&#xff1a;docker镜像基本命令 docker系列4&#xff1a;docker容器基本命令 docker系列5&#xff1a;docker安装nginx docker系列6&#xff1a;docker安装redis docker系…

基于yolov8的苹果腐败检测系统,系统既支持图像检测,也支持视频和摄像实时检测(pytorch框架)【python源码+UI界面+功能源码详解】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示&#xff1a; 基于yolov8的苹果腐败检测系统&#xff0c;系统既支持图像检测&#xff0c;也支持视频和摄像实时检测_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov8的苹果腐败检测系统是在pytorc…