【Linux】linux权限
linux权限
- 一,Linux权限的概念
- 二,Linux权限管理
- 1.文件访问者分类
- 2.文件类型和访问权限
- 3.文件权限值的表示方法
- 4.文件访问权限的设置
- 三,目录的权限
- 四,粘滞位
- 五,权限掩码
- 1.什么是权限掩码
- 2.权限掩码的计算
一,Linux权限的概念
在Linux下,有两种用户,超级用户(root)和普通用户。
root用户可以在Linux下做如何事情,不受限制
普通用户在做有些操作下受权限访问限制
二,Linux权限管理
1.文件访问者分类
我们在Linux下查看所有文件时,都会有如下这两列:

其中所圈的第一列表示文件的所有者u(user), 表示这个文件或者目录由谁创建,第二列表示文件所属组g(group),表示所属于的组别。
2.文件类型和访问权限
查看文件时还可以看到以下属性:

上面用红色框起来的表示文件的类型,Linux下常见文件类型有:
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
第二列用蓝色框起来的表示文件的访问权限,其中三个为一组,共三组,分别表示文件user,所属组group,other对其的访问权限。
权限分为三种:
r表示可读
w表示可写
x表示可执行
以此为例说说文件的权限
上面三种文件都是普通文件,test1的前三个(rwx)表示文件拥有者对该文件的所有权限,该拥有者可以对此文件执行读写执行权限。test1的中间三个rwx表示该文件的所属组对此有读写执行权限,最后三个rwx表示other对此有读写执行权限。
3.文件权限值的表示方法
文件权限可以用上述字符来表示,r–表示只读,–x表示只执行,-w-表示只写,以此类推。
除了字符表示外,还可以用8进制来表示,有该权限用1表示,无则为0。
总结如下表:

4.文件访问权限的设置
如果要对文件的权限做修改,则常用chomd来设置文件访问权限。
格式:chmod [参数] 权限 文件名
下面是参数说明:

例子:
给test2的拥有者加上执行权限

(1)可以使用chmod 用户标识符 +/- 权限来修改权限

修改后:

(2)也可以通过设置三位8进制数字来设置


这里的三位8进制分别表示文件拥有者,所属组,other对该文件的权限。
三,目录的权限
和普通文件的读写执行权限不同。
r --> 表示是否可以查看该目录下的文件
w -->表示是否可以在该目录下创建和删除文件
x -->表示是否可以进入该目录

以此为例,有三个目录,表示拥有者和所属组可以进入目录,并且可以查看目录下的文件,也可以在目录下创建和删除文件。
四,粘滞位
假设有一个场景,有多个用户共享一个目录,大家具有写的权限,都可以在该目录下创建和删除文件(目录)。那么,就会出现 ‘张三’ 可以删除 ‘李四’ 创建的文件。
Linux为了解决上述的问题,引入了粘滞位。
接着上述场景,如果给这个共享目录加上t, 即chmod +t 目录,则 ‘张三’ 就不能再删除 ‘李四’ 创建的文件。
当一个目录被设置位粘滞位后,该目录下的文件只能被:
1, 超级管理员删除
2,该目录的所有者删除
3,该文件的所有者删除
例如:


加上t之后:

五,权限掩码
1.什么是权限掩码
当我们在Linux下创建文件和目录时,都会有一个默认的权限
这里创建一个文件:


可以看到,该文件的默认权限是 rw-rw-rw- ,即默认是664。
这是因为,文件的权限是由:
1.起始权限
2.权限掩码
共同决定的。
其中:文件的起始权限是 666,目录的起始权限是 777
那么,什么是权限掩码呢?
可以通过 umask 来查看默认的权限掩码:

注 :这里的第一个0表示8进制。
也就是说,文件(目录)的最终权限是由起始权限和权限掩码通过一定的计算方法得来的。
2.权限掩码的计算
实际上,文件(目录)的权限是由:起始权限&(~权限掩码)计算得来的。
这里举个例子:

当然,权限掩码也可以自己设置,通过umask + 8进制权限来设置。


现在test1.txt的文件权限就是666了。
相关文章:
【Linux】linux权限
linux权限 一,Linux权限的概念二,Linux权限管理1.文件访问者分类2.文件类型和访问权限3.文件权限值的表示方法4.文件访问权限的设置 三,目录的权限四,粘滞位五,权限掩码1.什么是权限掩码2.权限掩码的计算 一࿰…...
XUbuntu22.04之如何创建、切换多个工作区(二百零九)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...
网络安全之SSL证书加密
简介 SSL证书是一种数字证书,遵守SSL协议,由受信任的数字证书颁发机构(CA)验证服务器身份后颁发。它具有服务器身份验证和数据传输加密的功能,能够确保数据在传输过程中的安全性和完整性。 具体来说,SSL证…...
格式化日期注解@JsonFormat的使用和TimeZone时区问题
JsonFormat的使用 目的 为了便于date类型字段的序列化和反序列化,需要在数据结构的Date、Timestamp、DateTime类型的字段上用JsonFormat注解进行注解 使用 JsonFormat注解是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当…...
ReactNative实现文本渐变
我们直接上图,可以看到上面文本的效果,使用SVG实现 1.首先还是要引入react-native-svg库 2.使用该库下面的LinearGradient和Text 好,话不多说,我们看具体代码 <Svg width={422} height={30} viewBox={0 0 422 30}><Defs><LinearGradientid="Gradien…...
深度学习手写字符识别:训练模型
说明 本篇博客主要是跟着B站中国计量大学杨老师的视频实战深度学习手写字符识别。 第一个深度学习实例手写字符识别 深度学习环境配置 可以参考下篇博客,网上也有很多教程,很容易搭建好深度学习的环境。 Windows11搭建GPU版本PyTorch环境详细过程 数…...
Day 1. 学习linux高级编程之Shell命令和IO
1.C语言基础 现阶段学习安排 2.IO编程 多任务编程(进程、线程) 网络编程 数据库编程 3.数据结构 linux软件编程 1.linux: 操作系统:linux其实是操作系统的内核 系统调用:linux内核的函数接口 操作流程ÿ…...
STM32--SPI通信协议(1)SPI基础知识总结
前言 I2C (Inter-Integrated Circuit)和SPI (Serial Peripheral Interface)是两种常见的串行通信协议,用于连接集成电路芯片之间的通信,选择I2C或SPI取决于具体的应用需求。如果需要较高的传输速度和简单的接口,可以选择SPI。如果需要连接多…...
Debezium系列之:MariaDB10.5以上版本赋予数据库账号读取binlog权限的变化
Debezium系列之:MariaDB10.5以上版本赋予数据库账号读取binlog权限的变化 一、背景二、BINLOG MONITOR权限三、BINLOG MONITOR和REPLICA MONITOR的区别四、MariaDB版本升级的影响五、总结一、背景 数据接入会检测账号是否具有REPLICATION SLAVE、REPLICATION CLIENT的权限Mari…...
迅为STM32MP157开发板底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块
底板扩展接口丰富 底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口CAMERA接口、ADC电位器、SPDIF、SDIO接口等。 支持多种显示屏 迅为在MP157开发板支持了多种屏幕࿰…...
「实用分享」用界面组件Telerik UI for Blazor增强你的财务图表!
Telerik UI for Blazor拥有110个原生的、易于定制的Blazor UI组件和高性能网格组件,能节约一半的时间开发全新的Blazor应用程序并使传统web项目现代化,其中囊括了设计和生成工具等。Telerik UI for Blazor控件提供的控件,可轻松满足应用程序对…...
使用org.openscada.utgard java opcda库做opc客户端时长期运行存在的若干问题
牛11月09日反馈东区存在以下问题,由于在现场未来得及处理。11月10日反馈西区亦存在此问题。经排查此问题已存在相当长一段时间(最长为9月底即存在)。 1、读报错Value: [[org.jinterop.dcom.core.VariantBody$EMPTY212c0aff]], Timestamp: Mo…...
杰克与魔法树的冒险
从前有一个小村庄,里面住着一个善良勇敢的小男孩叫杰克。杰克非常喜欢冒险和探索未知的事物。 一天,杰克听说村庄附近的森林里有一个神奇的魔法树,树上结满了金色的苹果。他决定去寻找这棵魔法树,并带回一些金苹果给村庄的居民们。…...
第九节HarmonyOS 常用基础组件22-Marquee
1、描述 跑马灯组件,用于滚动展示一段单行文本,仅当文本内容宽度超过跑马灯组件宽度时滚动。 2、接口 Marquee(value:{start:boolean, step?:number, loop?:number, fromStart?: boolean ,src:string}) 3、参数 参数名 参数类型 必填 描述 st…...
烽火传递
看似很简单的单调队列优化DP 但是如果状态是表示前\(i\)个烽火台被处理完的最小代价(即不知道最后一个烽火台在哪里)就无法降低复杂度 因为假设你在区间\([i-m1,i]\)中枚举最后一个烽火台(设为\(k\)),你前面的状态并不是\(f[k-1]\),因为此时\(k\)已经可以…...
《深入浅出Go语言》大纲
目录 为什么选择《深入浅出Go语言》? 基础核心模块 为什么选择《深入浅出Go语言》? 🚀 全面的基础知识体系 从环境搭建开始,对Go语言核心知识点进行深入探讨,深度挖掘每个基础知识的本质,为后续深入学习…...
flv视频格式批量截取封面图(不占内存版)--其他视频格式也通用
flv视频格式批量截取封面图(不占内存版)--其他视频格式也通用 需求(实现的效果)功能实现htmlcssjs 需求(实现的效果) 批量显示视频,后端若返回有imgUrl,则直接显示图1, 若无…...
【鸿蒙】大模型对话应用(三):跨Ability跳转页面
Demo介绍 本demo对接阿里云和百度的大模型API,实现一个简单的对话应用。 DecEco Studio版本:DevEco Studio 3.1.1 Release HarmonyOS SDK版本:API9 关键点:ArkTS、ArkUI、UIAbility、网络http请求、列表布局、层叠布局 页面跳…...
明道云入选亿欧智库《AIGC入局与低代码产品市场的发展研究》
2023年12月27日,亿欧智库正式发布**《AIGC入局与低代码产品市场的发展研究》**。该报告剖析了低代码/零代码市场的现状和发展趋势,深入探讨了大模型技术对此领域的影响和发展洞察。其中,亿欧智库将明道云作为标杆产品进行了研究和分析。 明…...
【深度学习】SDXL TensorRT Dockerfile Docker容器
文章目录 过程SDXL TensorRT构建SDXL TensorRT LCM 调度器过程 docker push kevinchina/deeplearning:cuda12.1torch2.1.1 FROM nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive# 安装基本软件包 RUN apt-get update && \apt-get u…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
