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

Linux 权限管理:用户分类、权限解读与常见问题剖析

🌟 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。🌟

🚩用通俗易懂且不失专业性的文字,讲解计算机领域那些看似枯燥的知识点🚩


目录

💯Linux权限管理的重要性

💯认识Linux下用户的分类👥

💯什么叫做权限 🎯

1.权限认证的是身份 (权限和“人”有关)

2. 权限和事物的“属性”有关

💯没有权限会有什么现象?😟

💯权限的修改问题🛠️

💯其他问题(三个问题)🤔

问题一:起始权限问题

问题二: 目录的权限

问题三:用户没有读写权限,却能删除文件?!

💯关于权限的总结


💯Linux权限管理的重要性

在Linux的世界里,权限管理就像一个超级保镖👮‍,守护着系统里的数据和资源。它能防止坏人(恶意用户)随便乱动重要的文件,保证系统安全又稳定地运行。而且呀,它还能让每个用户都只能碰自己该碰的东西,把系统资源分配得明明白白,这样大家工作起来都高效啦~👍


💯认识Linux下用户的分类👥

Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户(root):可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。我们可以通过 adduser 来添加普通用户
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

那么这俩个用户是如何切换的呢?🧐


命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。

从普通用户user切换到root用户则使用 su
root(root可以省略),此时系统会提示输入root用户的口令。

 

用 exit 或者 ctrl + D 可以回退到普通用户

 

 如果我们想对一条命令提权,例如:下载安装(yum),必须是超级用户才有权限

 我们普通用户也可使用 sudo 语句,来短暂提升权限

除非未来将普通用户加入信任白名单中。


💯什么叫做权限 🎯

 大白话:一件事件是否允许被你做,就叫做权限

1.权限认证的是身份 (权限和“人”有关)

认证用用户与身份是否吻合。

 文件访问者的分类(人):

  • 文件和文件目录的所有者:u---User(中国平民 法律问题)
  • 文件和文件目录的所有者所在的组的用户:g---Group(不多说)
    允许拥有与所有者相同的访问权限
  • 其它用户:o---Others (外国人)

 

俩者不冲突,相互补充


2. 权限和事物的“属性”有关

文件属性:可读,可写,可执行

我们看以下指令👇:

 我们首先来看前面这一块

 文件的类型:Linux系统中文件名后缀没有直接的意义。linux系统操作不看文件名后缀,但是不代表其他Linux运行的软件不看,(例如:gcc是一款编译器,软件,看文件后缀)

  • d:目录文件
  • :普通文件(文本,可执行程序,库基本都属于普通文件)
  • b:块设备文件(磁盘文件)
  • p:管道文件(用来进行通信)
  • c:字符设备文件(键盘,显示器文件等)

Linux中如何看待后缀?—— 看用户需求 

 

代表文件的权限属性。

 

other属性在哪里呢?——除了拥有者,所属组其他用户都是other,太多了,不显示

 


💯没有权限会有什么现象?😟

我们已经了解完权限的概念,现在我们来看看没有权限会怎么样


💯权限的修改问题🛠️

在 Linux 中,可以使用 chmod 命令来修改文件和目录的权限。chmod命令有两种常见的使用方式:字符模式数字模式

更改权限的只能是 拥有者 或 root

1.字符模式: 

 2.数字模式

  • 数字模式是将 “rwx” 权限分别对应一个数字,“1” 表示有,"0"表示没有。
  • rwx rw- rw- 就表示为“111 110 110”,我们可以通过八进制来表示,因此该数为“7 6 6”

另外,chown命令可以用来更改文件或目录的所有者,chgrp命令可以更改文件或目录所属的用户组。

现在有以下问题其他问题👇:

 原因是:在权限认证的时候

 我们只看一组,这里看的是所有者,没有写权限,所以不能写。

但我们修改后即可:


💯其他问题(三个问题)🤔

问题一:起始权限问题

在Linux中,

  • 默认给普通文件的起始权限为 666 (110 110 110)
  • 默认给目录文件的起始权限为777  (000 000 000)
  • ,umask(000 000 010)
  • 最终权限 = 起始权限 &(~ umask)

问题二: 目录的权限

  • 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中
  • 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

问题三:用户没有读写权限,却能删除文件?!

这太不合理了 ,因此我们引入粘滞位

除了常见的 “rwx” 权限外,Linux 还有一些特殊权限位,如粘滞位(sticky bit)。

  1. 粘滞位(sticky bit)主要应用于目录,当一个目录设置了粘滞位后,只有文件的所有者、目录的所有者或者超级管理员(root)才能删除该目录中的文件,即使其他用户对该目录有写入权限也不行。例如,“/tmp” 目录通常会设置粘滞位,这样多个用户都可以在该目录中创建临时文件,但不会互相干扰删除彼此的文件,保障了临时文件的安全性。设置粘滞位可以使用chmod +t directory命令,查看时会在权限字符表示中看到 “t” 或 “T”(如果其他用户无执行权限则为 “T”)。

💯关于权限的总结

Linux 权限管理至关重要,区分超级与普通用户构建访问控制。权限关联身份与文件属性,不同用户对各类文件操作受限,权限不足则操作受限。chmod 命令可改权限,有字符与数字模式。起始权限、目录特殊权限及粘滞位等完善管理内涵,保障系统资源合理分配与安全,是使用 Linux 系统的关键基础。


如果您觉得这篇文章对您有帮助,欢迎关注我,这样您能及时获取更多关于 Linux 系统知识以及其他技术领域的深度解读与实用技巧分享,🌊让我们一起在技术的海洋里不断探索进步。

 

相关文章:

Linux 权限管理:用户分类、权限解读与常见问题剖析

🌟 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。🌟 🚩用通俗易懂且不失专业性的文字,讲解计算机领域那些看似枯燥的知识点🚩 目录 💯L…...

网络原理之 UDP 协议

目录 1. UDP 协议报文格式 2. UDP 的特点 (1) 无连接 (2) 不可靠 (3) 面向数据报 (4) 全双工 3. 基于 UDP 的应用层协议 前文是:UDP 的使用 首先了解一下基础知识: 1. UDP 协议报文格式 传输层最重要的协议有两个,一个是 TCP&#x…...

并发框架disruptor实现生产-消费者模式

Disruptor是LMAX公司开源的高性能内存消息队列&#xff0c;单线程处理能力可达600w订单/秒。本文将使用该框架实现生产-消费者模式。一、框架的maven依赖 <!-- https://mvnrepository.com/artifact/com.lmax/disruptor --><dependency><groupId>com.lmax<…...

【Vivado】xdc约束文件编写

随手记录一下项目中学到的约束文件编写技巧。 时序约束 创建生成时钟 参考链接&#xff1a; Vivado Design Suite Tcl Command Reference Guide (UG835) Vivado Design Suite User Guide: Using Constraints (UG903) 通过Clocking Wizard IP创建的时钟&#xff08;MMCM或…...

Redis使用场景-缓存-缓存雪崩

前言 之前在针对实习面试的博文中讲到Redis在实际开发中的生产问题&#xff0c;其中缓存穿透、击穿、雪崩在面试中问的最频繁&#xff0c;本文加了图解&#xff0c;希望帮助你更直观的了解缓存雪崩&#x1f600; &#xff08;放出之前写的针对实习面试的关于Redis生产问题的博…...

概率论相关知识随记

作为基础知识的补充&#xff0c;随学随记&#xff0c;方便以后查阅。 概率论相关知识随记 期望&#xff08;Expectation&#xff09;期望的定义离散型随机变量的期望示例&#xff1a;掷骰子的期望 连续型随机变量的期望示例&#xff1a;均匀分布的期望 期望的性质线性性质期望的…...

【PlantUML系列】序列图(二)

目录 一、参与者 二、消息交互顺序 三、其他技巧 3.1 改变参与者的顺序 3.2 使用 as 重命名参与者 3.3 注释 3.4 页眉和页脚 一、参与者 使用 participant、actor、boundary、control、entity 和 database 等关键字来定义不同类型的参与者。例如&#xff1a; Actor&…...

WPF+MVVM案例实战与特效(三十四)- 日志管理:使用 log4net 实现高效日志记录

文章目录 1、概述2、日志案例实现1、LogHelper 类详解2、代码解释3、配置文件4、实际应用案例场景 1:记录系统运行日志场景 2:记录数据库操作日志场景 3:记录 HTTP 请求日志5、总结1、概述 在WPF软件开发中,良好的日志记录机制对于系统的调试、维护和性能优化至关重要。lo…...

前端测试框架 jasmine 的使用

最近的项目在使用AngulaJs,对JS代码的测试问题就摆在了面前。通过对比我们选择了 Karma jasmine ,使用 Jasmine做单元测试 &#xff0c;Karma 自动化完成&#xff0c;当然了如果使用 Karma jasmine 前提是必须安装 Nodejs。 安装好 Nodejs &#xff0c;使用 npm 安装好必要…...

Qwen2-VL视觉大模型微调实战:LaTex公式OCR识别任务(完整代码)

《SwanLab机器学习实战教程》是一个主打「开箱即用」的AI训练系列教程&#xff0c;我们致力于提供完善的数据集、源代码、实验记录以及环境安装方式&#xff0c;手把手帮助你跑起训练&#xff0c;解决问题。 Qwen2-VL是通义千问团队最近开源的大语言模型&#xff0c;由阿里云通…...

「Mac玩转仓颉内测版42」小学奥数篇5 - 圆和矩形的面积计算

本篇将通过 Python 和 Cangjie 双语解决简单的几何问题&#xff1a;计算圆的面积和矩形的面积。通过这道题&#xff0c;学生将掌握如何使用公式解决几何问题&#xff0c;并学会用编程实现数学公式。 关键词 小学奥数Python Cangjie几何计算 一、题目描述 编写一个程序&#…...

Groom Blender to UE5

Groom Blender to UE5 - Character & Animation - Epic Developer Community Forums Hello, 你好&#xff0c; While exporting my “groom” from blender to UE5, I notice that the curves have a minimal resolution in Unreal. However I would like to get the same …...

开发一套ERP 第十弹 图片作为配置文件,本地读取图片,定时更新图片类型

echo Hello World在同一数据库中在建一个图床数据表,产品一,一对应,图片命名 最优的方案&#xff0c;使用 rust 在构建一个 http server 用于管理非数据库资源,也可以将来对接不同的图床&#xff0c;部署方便 考虑到数据库资源和图片资源,都可以被远程访问这种方法最佳...

第七十六条:努力保持故障的原子性

当对象抛出异常之后&#xff0c;通常我们期望这个对象仍然保持在一种定义良好的可用状态之中&#xff0c;即使失败是发生在执行某个操作的过程中间。对于受检的异常而言&#xff0c;这尤为重要&#xff0c;因为调用者期望能从这种异常中进行恢复。一般而言&#xff0c;失败的方…...

Word分栏后出现空白页解决方法

Word分栏后出现空白页解决方法 只需要在后面的空白页设置相同的页面布局(分栏格式)&#xff0c;然后按Ctrl backspace即可删除该空白页。 参考文章&#xff1a;Word分栏出现空白怎么解决。...

基于HTML和CSS的校园网页设计与实现

摘要 随着计算机、互联网与通信技术的进步&#xff0c;Internet在人们的学习、工作和生活中的地位也变得越来越高&#xff0c;校园网站已经成为学校与学生&#xff0c;学生与学生之间交流沟通的重要平台&#xff0c;对同学了解学校内发生的各种事情起到了重要的作用。学校网站…...

【算法day7】字符串:反转与替换

题目引用 反转字符串反转字符串II替换数字 1.反转字符串 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1&am…...

分布式存储厂商

分布式存储 以下是对分布式存储厂商XSKY星辰天合、IOMesh&#xff08;SmartX&#xff09;、SmartX的深度对比&#xff1a; 1. XSKY星辰天合 产品与服务&#xff1a;XSKY星辰天合提供统一存储平台&#xff0c;支持块、文件和对象存储服务。已为近2400家大型政企机构实施部署&…...

合合信息扫描全能王线下体验活动:科技与人文的完美交融

文章目录 前言签到欢迎仪式产品体验智能高清滤镜去除透字效果照片高清修复 破冰行动会议感受 前言 作为合合信息旗下扫描全能王的忠实粉丝&#xff0c;上周&#xff0c;我很荣幸参与了扫描全能王“扫出你的能量buff”快闪活动及技术交流会。这次活动的不仅让我对这款强大的文档…...

单链表在Go语言中的实现与操作

简介 单链表是一种基本的线性数据结构&#xff0c;由节点组成&#xff0c;每个节点存储数据和指向下一个节点的指针。今天&#xff0c;我们将深入探讨如何在Go语言中实现和操作单链表。 单链表的优缺点 优点&#xff1a; 动态内存分配&#xff0c;灵活性高。插入和删除节点操…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...