Linux权限的理解

一、Linux权限的概念

1.1Linux的两种用户

Linux下有两种用户:超级用户(root)和普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是"$"

1.2两种用户的切换

指令: su [用户名]
功能:切换用户。

如果我们不想切换账户,只想拥有root权限,我们应该怎么做呢? 

指令: sodu [指令]
功能:以root身份执行[指令]

 

二、Linux权限管理

2.1文件访问者的分类

拥有者  所属组  other

2.2文件的访问权限

文件类型:

d:文件夹 !
-:普通文件 !
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

权限说明:

1.读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
2.写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
3.执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
4.“-”表示不具有该项权限

三、文件权限设置的相关方法 

chmod

功能: 设置文件的访问权限
格式: chmod [参数] 权限 文件名

权限说明:

1、用户表示符 + / - / = 权限字符
 +:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者(user)
g:拥有者同组用户(group)
o:其它用户(other)
a:所有用户(all)

如:# chmod u+w /Flash/Back.txt

2、三位8进制数字

rwx—— 二进制111 —— 八进制7

rwx rwx rwx——111 111 111——7 7 7

如:# chmod 777 /Flash/Back.txt

四、文件的默认属性

我们在创建文件后,为什么有默认权限? 

创建的目录文件,起始权限是0777,包含x的
创建的普通文件,起始权限是0666,去点x的

但是我们观察上面文件的默认权限,发现dir的权限是775,test的权限是664,这是为什么呢?
这就需要我们引入一个新概念,Linux存在一个默认的权限掩码,输入umask查看
Linux通过这个特殊的权限掩码对我们最终的权限作过滤,创作文件时,要从起始权限中过滤掉在umask中出现的权限,这个动作并非简单的减法,而是利用了按位与&。

我们如果想自己设置umask我们可以使用 umask [xxxx] 来设置:

现在我们再来进行文件和目录的创建,我新建了test3、test4、dir2,我们来看一下他们的默认权限
可以看出,他们的默认权限和我们之前说的一样,创建的目录文件,起始权限是0777,包含x的,创建的普通文件,起始权限是0666,去点x的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解Java泛型的底层原理

深入了解Java泛型的底层原理 在Java编程中,泛型是一项强大的特性,它允许我们编写更加通用和类型安全的代码。然而,对于许多开发者来说,泛型的底层原理可能并不清晰。本文将深入探讨Java泛型的底层实现原理,帮助您更好…

深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘

前言: 在Linux系统中,文件和目录的权限管理是一项至关重要的任务。它决定了哪些用户或用户组可以对文件或目录执行读、写或执行等操作。传统的Linux权限模型基于用户、组和其他的概念,但随着时间的推移,这种模型在某些情况下显得…

Bean的声明周期

1.创建Bean对象(调用无参数构造) 2.给bean对象设置相关属性(依赖注入) 3.bean后置处理器(初始化前执行,类似于过滤器和拦截器) 首先要定义一个类MyBeanPost,实现BeanPostProcessor…

解锁业务灵活性:RuleGo规则引擎的高效解耦与实时响应秘籍

文章目录 入门指南:RuleGo规则引擎🎉 概述🏆 RuleGo的优势🚀 特性🪁 架构图使用场景🎯 典型使用场景规则链概述RuleGo规则链优势规则链配置示例 入门指南:RuleGo规则引擎 🎉 概述 …

嵌入式中十大经典排序算法(代码实现),建议收藏

前言 兜兜转转,时间如白驹过隙。时间证明了一个道理,学啥忘啥,学的越快忘得越快,还不如踏踏实实写点笔记心得来的实在。 编程初学期间,排序算法是让人抓头最多的一块。为什么我连最简单的冒泡排序都理解不了&#xff…

【动态规划】【状态压缩】LCP04 覆盖

作者推荐 【广度优先搜索】【网格】【割点】【 推荐】1263. 推箱子 本文涉及知识点 动态规划汇总 LCP04 覆盖 你有一块棋盘,棋盘上有一些格子已经坏掉了。你还有无穷块大小为1 * 2的多米诺骨牌,你想把这些骨牌不重叠地覆盖在完好的格子上&#xff0…

C#学习总结

1、访问权限 方法默认访问修饰符:private 类默认访问修饰符:internal 类的成员默认访问修饰符:private 2、UserControl的使用 首先添加用户控件 使用时一种是通过代码添加,一种是通过拖动组件到xaml中

音频的“隐形保镖”——音频数字水印

在互联网时代,多媒体数字资源可以快捷地传播和获取,但同时也导致了数字音频产品的非法扩散、非法拷贝和非法篡改猖獗,数字音频产品的完整性和版权保护问题越来越凸显。文档和图像可以添加水印,音频同样可以添加水印,让…

【递归版】归并排序算法(1)

目录 MergeSort归并排序 整体思想 图解分析 代码实现 时间复杂度 递归&归并排序VS快速排序 MergeSort归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer&a…

堆排序法的名字由来,排序步骤是什么,最坏情况下的排序次数如何计算得来的呢?

问题描述:堆排序法的名字由来,排序步骤是什么,最坏情况下的排序次数如何计算得来的呢? 问题解答: 堆排序法的名字来源于它使用了堆这种数据结构。堆是一种特殊的树形数据结构,具有以下特点:在…

基于RK3399 Android11适配OV13850 MIPI摄像头

目录 1、原理图分析2、编写和配置设备树3、调试方法4、遇到的问题与解决5、补丁 1、原理图分析 从上图可看出,我们需要关心的,①MIPI数据和时钟接口使用的是MIPI_TX1/RX1 ②I2C使用的是I2C4总线 ③RST复位引脚使用的是GPIO2_D2 ④PWDN使用的是GPIO1_C7 ⑤…

A星寻路算法详解

A星寻路算法 前言 A星寻路算法是静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法,它可以应对包括复杂地形,各种尺度的障碍物以及不同地形的路径规划问题。掌握A星寻路算法能够提高路径规划效率,应对…

大模型参数高效微调

参数高效微调目的 PEFT技术旨在通过最小化微调参数的数量和计算复杂度,来提高预训练模型在新任务上的性能,从而缓解大型预训练模型的训练成本。这样一来,即使计算资源受限,也可以利用预训练模型的知识来迅速适应新任务&#xff0…

域名 SSL 证书信息解析 API 数据接口

域名 SSL 证书信息解析 API 数据接口 网络工具,提供域名 SSL 证书信息解析,多信息查询,毫秒级响应。 1. 产品功能 提供域名 SSL 证书信息解析;最完整 SSL 属性信息解析;支持多种元素信息抽取,包括主题的可…

【Java程序设计】【C00278】基于Springboot的数码论坛管理系统(有论文)

基于Springboot的数码论坛管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的数码论坛系统 本系统分为系统功能模块、管理员功能模块以及用户功能模块。 系统功能模块:在系统首页可以查看首页、…

Linux:Jenkins:GitLab+Maven+Jenkins的部署

1.环境 我这里准备了三台centos7 1.用于部署gitlab 运行内存:6G 名字:Jenkins-GitLab 192.168.6.1 2.用于部署jenkins 运行内存:2G 名字:Jenkins-server 192.168.6.2 3.用于打包测试…

全面解析企业财务报表系列之五:阅读财报结构、顺序、模块与不同侧重

全面解析企业财务报表系列之五:阅读财报结构、顺序、模块与不同侧重 一、明确本次报表分析的目的二、确定报表分析的重点项目三、重点分析项目之间的联系四、资产负债表的阅读五、利润表的阅读六、现金流量表的阅读七、综合分析 一、明确本次报表分析的目的 报表的…

VBA即用型代码手册:立即保护所有工作表Code及插入多工作表Code

我给VBA下的定义:VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率,而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想,积木编程最重要的是积木如何搭建…

【C语言】指针变量未初始化

我们知道:全局变量未赋初值,编译器会直接赋值为0;局部变量如果未赋初值,则会维持上一状态保存在该地址上的值,这个值是随机的。把这个值赋值给局部变量是没有意义的。 但是指针变量是如何解决不赋初值? 指…

探索设计模式的魅力:状态模式揭秘-如何优雅地处理复杂状态转换

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,并且坚持默默的做事。 探索设计模式的魅力:状态模式揭秘-如何优雅地处理复杂状态转换 文章目录 一、案例…