Linux的有关权限的学习

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.mzph.cn/bicheng/6207.shtml

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

相关文章

matlab绘制等高线图

在MATLAB中,你可以使用contour函数来绘制等高线图。以下是一个简单的示例,说明如何使用contour函数来绘制一个二维函数的等高线图。 假设我们要绘制函数z x^2 - y^2的等高线图,其中x和y在-5到5的范围内变化。 % 定义x和y的范围和步长 [x…

ServiceNow 研究:通过RAG减少结构化输出中的幻觉

论文地址:https://arxiv.org/pdf/2404.08189 原文地址:rag-hallucination-structure-research-by-servicenow 在灾难性遗忘和模型漂移中,幻觉仍然是一个挑战。 2024 年 4 月 18 日 灾难性遗忘: 这是在序列学习或连续学习环境中出现…

Pycharm远程环境开发(保姆级详细步骤)

使用远程机器的python环境 同步一下linxu和window的文件 可以从远端下载到本地(如下图所示),也可以从本地上传到linux,在左侧的目录里右键选择你所需要的上传文件点击deployment然后upload就行

k8s 资源组版本支持列表

1 kubernetes的资源注册表 kube-apiserver组件启动后的第一件事情是将Kubernetes所支持的资源注册到Scheme资源注册表中,这样后面启动的逻辑才能够从Scheme资源注册表中拿到资源信息并启动和运行API服务。 kube-apiserver资源注册分为两步:第1步,初始化Scheme资源注册表;…

Linux进程——Linux下常见的进程状态

前言:在进程学习这一块,我们主要学习的就是PCB这个进程控制块,而PBC就是用来描述进程的结构体,而进程状态就是PCB结构体中的一个变量。 本篇主要内容: 操作系统中的进程状态Linux下的进程状态 在开始之前,我…

AI学习指南-人工智能概述

欢迎来到人工智能的奇妙世界!如果你是初学者,那么你来对地方了。今天,我们将一起探索人工智能(AI)的基本概念,看看它是如何分类的,它的应用有哪些,以及未来可能的发展方向。准备好了…

每日一题(力扣740):删除并获得点数--dp+思维

其实跟打家劫舍没啥区别 排序去重之后去考虑当前位置和前两个位置之间的关系即可&#xff0c;具体见代码&#xff1a; class Solution { public:int deleteAndEarn(vector<int>& nums) {int n nums.size();if (n 1) return nums[0];unordered_map<int, int>…

Java项目:基于SSM框架实现的在线医疗服务系统(ssm+B/S架构+源码+数据库+毕业论文+开题报告)

一、项目简介 本项目是一套基于SSM框架实现的在线医疗服务系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能…

MES(制造执行系统)与PDCA循环,斩不断理还乱的关系。

MES系统算是B端系统中比较复杂的一种&#xff0c;这与我国制造业标准化程度较低有一定的关联&#xff0c;MES的存在就是要更好执行PDCA循环&#xff0c;二者关联是千丝万缕的&#xff0c;B系统提升专家借此为大家分享一下。 一、什么是PDCA PDCA&#xff08;Plan-Do-Check-Ac…

【系统架构师】-选择题(十一)

1、紧耦合多机系统一般通过&#xff08;共享内存&#xff09;实现多机间的通信。对称多处理器结构&#xff08;SMP&#xff09;属于&#xff08; 紧耦合&#xff09;系统。 松耦合多机系统又称间接耦合系统,—般是通过通道或通信线路实现计算机间的互连。 2、采用微内核的OS结构…

SQLite如何处理CSV 虚拟表(三十七)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite的DBSTAT 虚拟表&#xff08;三十六&#xff09; 下一篇:SQLite的扩展函数Carray()表值函数(三十八) ​ RFC4180格式是一种文本文件格式&#xff0c;被用于表格数据间的交互&#xff0c;也可将表格数据转化…

项目管理-项目范围管理1/2

1.项目范围管理-知识框架 2.范围管理-6个过程 项目范围管理&#xff0c;过程 6个&#xff0c;包括“规收定 创确控”&#xff1a; 规划范围管理收集需求定义范围创建WBS确认范围控制范围 2.1规划范围管理 &#xff08;1&#xff09;主要内容 4-3-2 &#xff08;2&#xf…

Homebrew是什么?

Homebrew 是一个开源的包管理器&#xff0c;专为 macOS 设计&#xff0c;用于简化在 macOS 上安装、更新和管理软件的过程。Homebrew 填补了 macOS 系统自带的包管理工具的空白&#xff0c;它通过用户友好的命令行界面&#xff0c;提供了大量的软件包&#xff08;formulae&…

Android 拼音解析库 Pinyin4j 的介绍及其使用

拼音是汉语的一种辅助拼音文字&#xff0c;用于帮助人们学习汉语的读音和拼写。拼音解析库能够将汉字转换为拼音&#xff0c;并提供多种功能&#xff0c;例如声调标注、拼音格式转换、多音字处理等。 拼音解析库 Pinyin4j 是一个用于将汉字转换为汉语拼音的 Java 库。它提供了…

如何低成本创建个人网站?

目录 前言 网站源代码 虚拟主机或服务器 域名注册或免费二级域名 域名解析 上传源代码压缩包 添加刚刚的域名 成功搭建 失败的解决方案 结语 前言 很多小白都非常想拥有自己的网站&#xff0c;但很多人虽然有了自己的源代码但苦于不知道怎么将其变成所有人都能够访…

Lucene从入门到精通

**************************************************************************************************************************************************************************** 1、概述 【1】入门&#xff1a;作用、有点与缺点 【2】应用&#xff1a;索引、搜索、fie…

Redis Zset的底层原理

Redis Zset的底层原理 ZSet也就是SortedSet&#xff0c;其中每一个元素都需要指定一个score值和member值&#xff1a; 可以根据score值排序后member必须唯一可以根据member查询分数 因此&#xff0c;zset底层数据结构必须满足键值存储、键必须唯一、可排序这几个需求。之前学…

Java | Leetcode Java题解之第66题加一

题目&#xff1a; 题解&#xff1a; class Solution {public int[] plusOne(int[] digits) {int n digits.length;for (int i n - 1; i > 0; --i) {if (digits[i] ! 9) {digits[i];for (int j i 1; j < n; j) {digits[j] 0;}return digits;}}// digits 中所有的元素…

LeetCode 131 —— 分割回文串

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 首先&#xff0c;按照 LeetCode 5——最长回文子串 中的思路&#xff0c;我们先求出 d p dp dp&#xff0c;这样我们就知道了所有的子串是否是回文子串。 然后&#xff0c;我们进行一个 dfs 搜索&#xff0c;起…

计算机网络4——网络层6路由器构成

文章目录 一、路由器的构成1、路由器结构2、交换结构 二、IP多播1、IP多播的概念2、在局域网上进行硬件多播 三、网际组管理协议IGMP和多播路由选择协议1、IP 多播需要两种协议2、网际组管理协议 IGMP3、多播路由选择协议 一、路由器的构成 1、路由器结构 路由器是一种具有多…