当前位置: 首页 > news >正文

【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.权限掩码的计算 一&#xff0…...

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站中国计量大学杨老师的视频实战深度学习手写字符识别。 第一个深度学习实例手写字符识别 深度学习环境配置 可以参考下篇博客&#xff0c;网上也有很多教程&#xff0c;很容易搭建好深度学习的环境。 Windows11搭建GPU版本PyTorch环境详细过程 数…...

Day 1. 学习linux高级编程之Shell命令和IO

1.C语言基础 现阶段学习安排 2.IO编程 多任务编程&#xff08;进程、线程&#xff09; 网络编程 数据库编程 3.数据结构 linux软件编程 1.linux&#xff1a; 操作系统&#xff1a;linux其实是操作系统的内核 系统调用&#xff1a;linux内核的函数接口 操作流程&#xff…...

STM32--SPI通信协议(1)SPI基础知识总结

前言 I2C (Inter-Integrated Circuit)和SPI (Serial Peripheral Interface)是两种常见的串行通信协议&#xff0c;用于连接集成电路芯片之间的通信&#xff0c;选择I2C或SPI取决于具体的应用需求。如果需要较高的传输速度和简单的接口&#xff0c;可以选择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开发板支持了多种屏幕&#xff0…...

「实用分享」用界面组件Telerik UI for Blazor增强你的财务图表!

Telerik UI for Blazor拥有110个原生的、易于定制的Blazor UI组件和高性能网格组件&#xff0c;能节约一半的时间开发全新的Blazor应用程序并使传统web项目现代化&#xff0c;其中囊括了设计和生成工具等。Telerik UI for Blazor控件提供的控件&#xff0c;可轻松满足应用程序对…...

使用org.openscada.utgard java opcda库做opc客户端时长期运行存在的若干问题

牛11月09日反馈东区存在以下问题&#xff0c;由于在现场未来得及处理。11月10日反馈西区亦存在此问题。经排查此问题已存在相当长一段时间&#xff08;最长为9月底即存在&#xff09;。 1、读报错Value: [[org.jinterop.dcom.core.VariantBody$EMPTY212c0aff]], Timestamp: Mo…...

杰克与魔法树的冒险

从前有一个小村庄&#xff0c;里面住着一个善良勇敢的小男孩叫杰克。杰克非常喜欢冒险和探索未知的事物。 一天&#xff0c;杰克听说村庄附近的森林里有一个神奇的魔法树&#xff0c;树上结满了金色的苹果。他决定去寻找这棵魔法树&#xff0c;并带回一些金苹果给村庄的居民们。…...

第九节HarmonyOS 常用基础组件22-Marquee

1、描述 跑马灯组件&#xff0c;用于滚动展示一段单行文本&#xff0c;仅当文本内容宽度超过跑马灯组件宽度时滚动。 2、接口 Marquee(value:{start:boolean, step?:number, loop?:number, fromStart?: boolean ,src:string}) 3、参数 参数名 参数类型 必填 描述 st…...

烽火传递

看似很简单的单调队列优化DP 但是如果状态是表示前\(i\)个烽火台被处理完的最小代价(即不知道最后一个烽火台在哪里)就无法降低复杂度 因为假设你在区间\([i-m1,i]\)中枚举最后一个烽火台(设为\(k\))&#xff0c;你前面的状态并不是\(f[k-1]\)&#xff0c;因为此时\(k\)已经可以…...

《深入浅出Go语言》大纲

目录 为什么选择《深入浅出Go语言》&#xff1f; 基础核心模块 为什么选择《深入浅出Go语言》&#xff1f; &#x1f680; 全面的基础知识体系 从环境搭建开始&#xff0c;对Go语言核心知识点进行深入探讨&#xff0c;深度挖掘每个基础知识的本质&#xff0c;为后续深入学习…...

flv视频格式批量截取封面图(不占内存版)--其他视频格式也通用

flv视频格式批量截取封面图&#xff08;不占内存版&#xff09;--其他视频格式也通用 需求&#xff08;实现的效果&#xff09;功能实现htmlcssjs 需求&#xff08;实现的效果&#xff09; 批量显示视频&#xff0c;后端若返回有imgUrl,则直接显示图1&#xff0c; 若无&#xf…...

【鸿蒙】大模型对话应用(三):跨Ability跳转页面

Demo介绍 本demo对接阿里云和百度的大模型API&#xff0c;实现一个简单的对话应用。 DecEco Studio版本&#xff1a;DevEco Studio 3.1.1 Release HarmonyOS SDK版本&#xff1a;API9 关键点&#xff1a;ArkTS、ArkUI、UIAbility、网络http请求、列表布局、层叠布局 页面跳…...

明道云入选亿欧智库《AIGC入局与低代码产品市场的发展研究》

2023年12月27日&#xff0c;亿欧智库正式发布**《AIGC入局与低代码产品市场的发展研究》**。该报告剖析了低代码/零代码市场的现状和发展趋势&#xff0c;深入探讨了大模型技术对此领域的影响和发展洞察。其中&#xff0c;亿欧智库将明道云作为标杆产品进行了研究和分析。 明…...

【深度学习】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…...

Elasticsearch中的地理空间(Geo)数据类型介绍

在Elasticsearch中,地理空间(Geo)数据类型用于存储和处理与地理位置相关的数据,支持基于地理坐标的查询、过滤和分析。这类数据类型允许用户在分布式环境中高效地处理地理空间相关的搜索、聚合和可视化需求,广泛应用于地图应用、物流追踪、位置服务(LBS)等场景。 一、核…...

Simplicity studio SDK下载和安装,创建工程

下载SDK工具地址 Simplicity Studio - Silicon Labs 选择适合自己电脑的版本。 这个就使用你自己的邮箱注册一个就可以了&#xff0c;我是用的公司邮箱注册的。 下载完成&#xff1a; 安装 下载完成后右键点击安装&#xff0c;一路下一步 安装完成后&#xff0c;程序自动打…...

[论文阅读] 人工智能+项目管理 | 当 PMBOK 遇见 AI:传统项目管理框架的破局之路

当PMBOK遇见AI&#xff1a;传统项目管理框架的“AI适配指南” 论文信息 arXiv:2506.02214 Is PMBOK Guide the Right Fit for AI? Re-evaluating Project Management in the Face of Artificial Intelligence Projects Alexey Burdakov, Max Jaihyun Ahn Subjects: Software …...

LabVIEW自感现象远程实验平台

LabVIEW开发自感现象远程实验平台&#xff0c;通过整合 NI数据采集设备、菲尼克斯&#xff08;Phoenix Contact&#xff09;继电器模块及罗技&#xff08;Logitech&#xff09;高清摄像头&#xff0c;实现远程数据采集、仪器控制与实时监控三大核心功能。平台突破传统实验装置局…...

[GESP202412 五级] 奇妙数字 题解

解题思路引用 FJ_EYoungOneC的解法 数字 x 是奇妙数字当且仅当 xpa 其中 p 为任意质数且 a 为正整数。 那么我们可以对 n 进行质因子分解&#xff0c;并统计每个质数因子的个数。 假设数字 n 含有 9 个因子 2&#xff0c;那么可以凑出 21,22,23&#xff0c;共三个数。 那么…...

最小硬件系统概念及其组成

在嵌入式系统开发中&#xff0c;“最小硬件系统&#xff08;Minimum Hardware System&#xff09;”或“最小系统&#xff08;Minimal System&#xff09;”指的是微控制器&#xff08;MCU&#xff09;能够运行其内部程序&#xff08;通常是存储在内部Flash中的代码&#xff09…...

【AI学习】KV-cache和page attention

目录 带着问题学AI KV-cache KV-cache是什么&#xff1f; 之前每个token生成的K V矩阵给缓存起来有什么用&#xff1f; 为啥缓存K、V,没有缓存Q? KV-cache为啥在训练阶段不需要&#xff0c;只在推理阶段需要&#xff1f; KV cache的过程图解 阶段一&#xff1a;KV cac…...

Java详解LeetCode 热题 100(27):LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一&#xff1a;迭代法&#xff08;哨兵节点&#xff09;3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二&#xff1a;递归法4.…...

人工智能在智能教育中的创新应用与未来趋势

随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;教育领域正经历着一场深刻的变革。智能教育通过引入AI、物联网&#xff08;IoT&#xff09;、大数据和云计算等前沿技术&#xff0c;正在实现教育的个性化、智能化和高效化。本文将探讨人工智能在智能教育中的…...

【ArcGIS应用】ArcGIS‌应用如何进行影像分类?

ArcGIS‌应用如何进行影像分类&#xff1f;...