Linux的有关权限的学习

server/2024/9/24 11:20:29/

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.ppmy.cn/server/31526.html

相关文章

FreeBSD下安装Linux兼容系统Ubuntu

FreeBSD有个很神奇的功能,就是跟Linux二进制兼容,也就是可以直接运行linux的bin文件。还有个更神奇的功能,就是能运行出一套Linux系统,完全是linux的用户,linux的目录系统,而且还可以选是Centos系统还是Ubu…

OpenHarmony实战开发-动画概述

UI(用户界面)中包含开发者与设备进行交互时所看到的各种组件(如时间、壁纸等)。属性作为接口,用于控制组件的行为。例如,开发者可通过位置属性调整组件在屏幕上的位置。 属性值的变化,通常会引…

深入浅出学习Pytorch—Pytorch简介与2024年最新安装(GPU)

深入浅出学习Pytorch—Pytorch简介 学习原因:Pytorch日益增长的发展速度与深度学习时代的迫切需要 Pytorch模型训练 pytorch实现模型训练包括以下的几个方面(学习路线) 数据:数据预处理与数据增强模型:如何构建模型模…

MATLAB中自定义栅格数据地理坐标R,利用geotifwrite写入tif

场景描述: 有时候将nc格式的数据转成tiff,或者是将一个矩阵输出成带有地理坐标信息tiff数据时,常常涉及到空间参考的定义和geotiffwrite()函数。 问题描述: 以全球数据为例,今天发现在matlab中对矩阵进行显示后&…

ArmSoM-Sige5 RK3576开发板 正式发布!

简介​ ArmSoM-Sige5 采用Rockchip RK3576第二代8nm高性能AIOT平台,6 TOPS算力NPU,最大可配16GB大内存。支持8K视频编解码,拥有丰富的接口,支持双千兆网口,WiFi6 & BT5和多种视频输出。支持多种操作系统&#xff…

嵌入式硬件中优化设计PCB提高焊接质量方法

随着电子技术的飞速发展,电子元器件的小型化、微型化、间距为0.3mm~0.5mm高密度的芯片越来越普遍,对电子焊接技术的要求也就越来越高。虽然现在有了更精密的贴片机可以代替人工焊接,但影响焊接质量的因素太多。本文将从贴片焊接的角度,介绍了几点PCB设计时需要注意的要点,…

介绍华为云 了解华为云

引言 华为云作为全球领先的云服务提供商,为用户提供高性能、高可靠的云计算服务。在部署应用程序时,合理利 用华为云服务器的资源,能够实现更高效的运行和管理。 选择华为云服务器 华为云服务器提供多种配置和规格选择,用户可根据…

TCP重传机制——快速重传

TCP 有一种快速重传机制,它不以时间为驱动,而是以数据驱动重传。 在上图,发送方发出了 1,2,3,4,5 份数据: 第一份 Seq1 先送到了,于是就 Ack 回 2;结果 Seq2…