【linux】linux权限的详细讲解

news2026/4/1 3:59:40
一、Linux 权限的概念1.1、用户分类Linux下有两种用户超级用户 (root) 与 普通用户超级用户可以再linux系统下做任何事情几乎不受权限的限制普通用户在linux下做权限范围内的事情超级用户的命令提示符是“#”普通用户的命令提示符是“$”1.2、切换用户inux 切换用户的指令是su在 Linux 中如果我们要从超级用户切换到普通用户直接 “su username” 即可没有任何限制但是如果我们要从普通用户切换到超级用户就需要输入 root 密码普通用户切换到 root 用户有两种方式su切换到 root 的当前目录su -直接切换到 root 的根目录注Linux 出于安全考虑从键盘输入的密码在终端上是不会回显的也就是说我们输入密码时屏幕不会显示任何东西2.3、用户提权在工作中我们使用Linux的时候可能会出现这样一种状况当前有一条指令必须拥有超级用户的权限才能执行但我们不想切换用户想直接让普通用户以root用户的身份去执行该指令sudo 指令可以满足我们的需求但是我们执行 sudo 指令发现了两个奇怪的现象1、使用 sudo 指令让我们拥有root用户的权限按理来说应该提示我们输入root密码但事实是它让输入我们自己用户的密码2、我以test的身份执行 sudo 指令它提示test用户不在 sudoers file 内sudo 失败(而如果我们不在 sudoers 文件中那么自然也不能通过 sudo 指令提权我们后面讲vim的时候一起解决)上面这些现象是由 sudo 的机制造成的sudo 存在的目的是为了 给受信任的用户提供最少的执行障碍受信任的用户是指被添加到 sudoers 文件中的用户也就是说当我们存在于 sudoers 文件中时说明 root 用户充分信任我们所以当我们使用 sudo 指令提升权限时只需要输入自己的密码即可注sudo 的有限时间为15分钟即当我们使用 sudo 提权成功后后面15分钟内再次使用 sudo 指令不需要再次输入密码二、Linux 权限管理2.1、引入权限即你是否可以做这件事情比如听网易云vip歌曲的时候只有vip身份的用户才可以听普通身份用户无法听权限认证和身份人与属性有关权限的认证跟身份有关权限也和人也有关。比如网易云vip音乐关心的你是否是vip这跟你的身份有关。权限的认证还跟事物的属性有关。例如你想在网易云上听周杰伦的《反方向的钟》尽管你有vip可以听网易云音乐上所有的歌曲可是网易云上买不到周杰伦的《反方向的钟》的版权网易云上不能满足你的要求那么你在网易云上就没有听周杰伦的《反方向的钟》的权限。这个事物的属性要满足你想要做的事情你才能有对应的权限。2.2、文件访问者的分类在 Linux 下文件的访问者被分为三类所有者文件和文件目录的所有者 – u (user)所属组文件和文件目录的所有者所在的组的用户 – g (group)其他用户除所有者和所属组用户之外的用户 – o (other)关于文件的所有者和其他用户相信大家都很容易理解但是为什么会有一个所属组呢我们以一个例子说明假设一家刚起步的很穷的公司要开发一款产品该公司的老板奉行竞争理念所以他把手下的人分为了两个组让他们来研发同一款产品最后哪个组的产品更优哪个组就拿额外的奖金但是呢由于公司很穷只买得起一台主机这时候问题就出现了两个组的成员公用一台主机那么组内成员的代码如何进行共享呢如果我把文件设置为私有这样虽然另外一组的人看不到我的代码但同时我的队友也看不到而如果我把文件设置为共有那么又可能有代码泄露的风险为了解决这种情况Linux 设计出了所属组的概念我们可以把多个用户归为一个组让组内的成员共享文件组外的成员则受权限限制2、文件类型和访问权限我们在 Linux 中查看一个文件/目录时文件前面通常会出现很长一串字符他们对应的含义如下第一个字符代表文件类型后面九个字符三三一组分别代表文件拥有者、所属组和其他用户的权限其中文件的权限一共分为三类r – 读权限Read 对文件而言具有读取文件内容的权限对目录来说具有浏览该目录信息的权限w – 写权限Write 对文件而言具有修改文件内容的权限对目录来说具有删除移动目录内文件的权限x – 可执行权限execute 对文件而言具有执行文件的权限对目录来说具有进入目录的权限注其中对应位置上有代表权限的字符说明该用户拥有对应权限如果显示 - 则代表该用户没有对应权限文件类型Liunx 中一共有七种文件d目录-普通文件 (可执行程序也属于普通文件)l软链接类似Windows的快捷方式b块设备文件例如硬盘、光驱等p管道文件c字符设备文件例如屏幕等串口设备s套接口文件文件后缀与文件类型在之前我们就提到Linux 中不以文件的后缀名来区分文件类型文件后缀属于文件名的一部分但这并不不代表我们不可以使用文件后缀来区分文件类型 – 意思就是虽然在 Linux 眼中文件后缀没用但是我们可以把文件后缀当作对用户的一个提示符号同时Linux 中不区分文件后缀并不代表 Linux 下的各种工具比如 gcc、g 区分文件后缀三、文件权限值的表示方法3.1、字符表示法3.2、八进制数值表示法rwx111有的地方就是1四、设置文件权限4.1、chmod 指令使用chmod指令可以完成对指定身份拥有者u所属组g其他人o的权限读r写w执行x的修改chmod [参数] 权限 文件名注意只有文件的拥有者和root才可以改变文件的权限1.chmod 指令权限值的格式用户表示符 /- 权限字符用户符号u拥有者g拥有者同组用户o其它用户a所有用户/-的意义向权限范围增加权限代号所表示的权限-向权限范围取消权限代号所表示的权限为了演示方便我提前吧权限全都置零了用户组其他用户所有人2.三位八进制数字文件的权限一共三种 – 读写执行所以用三个二进制位就可以表示全部情况如果用八进制则只需要一位rwx111有的地方就是14.2、chown 指令修改文件的拥有者chown [参数] 用户名 文件名注意当我们使用 chown 指令将属于我们的文件赋给别人时需要获得别人的同意所以在一般情况下我们是不能改变文件的拥有者的只有 root 不受权限的约束可以直接将属于 A 的文件赋给 B而不需要征得 A 和 B 的同意4. 3、chgrp 指令修改文件或目录的所属组chgrp [参数] 用户组名 文件名注意和修改文件的拥有者一样我们也不能直接修改文件的所属组需要征得别人的同意而 root 不受权限约束4.4、umask指令inux下文件的默认权限如下 – 普通文件的默认权限是0666(读写)目录文件的默认权限是0777读写执行其中第一位数字代表这是三位八进制数后面三位数字分别代表拥有者、所属组和其他人对文件的权限但是我们发现我们平时创建的文件的权限和上面的好像并不相同这是因为创建文件或目录的时候除了受默认权限的约束之外还要受到 umask (文件掩码) 的影响假设默认权限是mask则实际创建的出来的文件权限是: mask ~umask权限掩码的作用是将在其中出现的权限 在起始权限中全部去掉因为一个权限在 umask 中为1那么其按位取反后再与默认权限按位与得到的结果一定为0如果 umask 中为0则其按位取反后与默认权限按位与后不影响默认权限的值查看或修改文件掩码umask 权限值注意将现有的存取权限减去权限掩码后即可产生建立文件时预设权限超级用户默认掩码值为0022普通用户默认为0002修改文件掩码可以看到当我们把文件掩码设置为000后此时创建出的文件的最终权限就等于文件的默认权限4.5、file 指令辨识文件类型1.-c 详细显示指令执行过程便于排错或分析程序执行的情形2. -z 尝试去解读压缩文件的内容五、目录的权限目录权限所代表的含义如下可执行权限能否进入目录 – 如果目录没有可执行权限, 则无法cd到目录中可读权限能否查看目录中的文件内容 – 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容可写权限能否在目录中创建与删除文件 – 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件所以如果我们要进入一个目录就必须有可执行权限这也就是为什么普通文件的默认权限是666而目录文件的默认权限是777的原因六、粘滞位在一个Linux系统中通常有很多用户那么有时就会有这样一种需求 – 不同的用户需要在一个公共的目录下进行临时文件的增删查改这个公共目录通常由 root 用户创建然后将目录权限修改为777但是这里出现了一个问题由于这个公共目录的权限是777所以任何一个用户都可以删除此目录下的文件无论该文件是否属于自己如下可以看到对于test 来说ljm.txt 这个文件是不可读不可写且不可执行的test也确实不能对它进行这些操作但是 test 却能够直接删除 ljm.txt因为 ljm.txt 处于 tmp 这个目录之下而这个目录对于 tst 是可读可写可执行的为了出来上面这种不科学的情况Linux 引入了粘滞位的概念粘滞位是权限的一种特殊情况它不影响不同用户在公共目录下的读写执行操作但是它可以禁止不同用户之间互删文件粘滞位设置的方式很简单只需要在目录已有权限基础上加上 t 即可并且添加时不用指定用户Linux 会自动识别注当一个目录被设置为 “粘滞位” 以后该目录下的文件只能由文件的所有者或者 root 删除其余用户不能删除。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

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

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

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…