深入解析Linux权限管理:从基本原理到应用

目录

Shell 命令及运行原理

Shell 与 Kernel

Linux 权限的概念

命令提示符

Linux 权限管理

1. 访问者的分类 ugo

2. 类型和访问权限

3. 权限值表示方法

4. chmod 访问权限设置

掩码命令:umask

5.目录权限

粘滞位:


文章手稿见文末

Shell 命令及运行原理

Shell 与 Kernel

Linux 严格意义上讲是一个操作系统的核心(Kernel),但一般用户不能直接使用 Kernel,而是通过 Kernel 的“外壳”程序,即 Shell,与 Kernel 进行通信。

Shell 的定义:

  • 命令行解释器 (Command Interpreter):将用户的命令翻译给内核 (Kernel) 处理,同时将内核的处理结果翻译给用户。

举例

  • 在 Windows 上,我们通过图形接口 (GUI) 操作系统。而在 Linux 上,用户通过 Shell 输入命令,Shell 解析命令并交给 Kernel 执行。

帮助理解Shell 就像是操作系统内核和用户之间的“媒婆”,负责传达信息和执行操作

Linux 权限的概念

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

  • 超级用户 (root):可以在 Linux 系统下做任何事情,不受限制。
  • 普通用户:只能做有限的事情。

命令提示符

  • 超级用户的命令提示符是#
  • 普通用户的命令提示符是$

切换用户的命令

  • 使用 su [用户名] 命令。
    • 从 root 用户切换到普通用户 usersu user
    • 从普通用户 user 切换到 root 用户:su (默认 root)

Linux 权限管理

权限=人+事物属性

1. 访问者的分类 ugo
分类符号解释
文件和目录的所有者uUser
文件和目录的所有者所在组的用户gGroup
其它用户oOthers
2. 类型和访问权限

文件类型

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

基本权限

符号权限解释
rRead,对文件而言,读取文件内容权限;对目录而言,浏览该目录信息权限
wWrite,对文件而言,修改文件内容权限;对目录而言,删除和移动目录内文件的权限
x执行Execute,对文件而言,执行文件权限;对目录而言,进入目录的权限
-拥有该项权限
3. 权限值表示方法
表示方法解释
字符表示方法rwx
8 进制数值表示方法755

八进制操作

默认起始是666和777,下面让我们来进行一些尝试

关于超级用户root :

4. chmod 访问权限设置

修改权限命令:chmod

  • 功能: 设置文件的访问权限。
  • 格式chmod [参数] 权限 文件名
  • 常用选项-R 递归修改目录文件的权限

用户表示符与权限字符

符号解释
+增加权限
-取消权限
=赋予权限

用户符号

符号解释
u拥有者
g拥有者同组用户
o其它用户
a所有用户

实例

给所有用户赋权的三种复合使用方法

chmod a=x /home/abc.txt  # 设置文件所有用户有执行权限
chmod 755 /home/abc.txt  # 使用三位8进制表示法
chmod u+x,g+x,o+wx ./abc3.txt

修改文件拥有者命令:chown

  • 功能: 修改文件的拥有者。
  • 格式chown [参数] 用户名 文件名
  • 实例
chown user1 f1
chown -R user1 filegroup1

 

一个文件的创建者和拥有者一定是同一个人吗?

通过我们刚才修改文件的拥有者,我们就能得出 —— 不一定。

修改文件或目录所属组命令:chgrp

  • 功能: 修改文件或目录的所属组。
  • 格式chgrp [参数] 用户组名 文件名
  • 常用选项-R 递归修改文件或目录的所属组
  • 实例
chgrp users /abc/f2

掩码命令:umask

为什么创建目录的默认权限是 775,而创建普通文件的默认权限是 664 ?

不同系统可能有差异吗?

创建的时候为什么不可以都是 777?

这些都是因为权限掩码的存在。

其中的0002就是掩码

  • 功能: 查看或修改文件掩码。

  • 新建文件默认权限:
    • 新建文件夹默认权限:0666
    • 新建目录默认权限:0777
    • 默认掩码 0002

实例

umask 755     # 设置掩码
umask         # 查看当前掩码
umask 044     # 设置掩码

掩码的计算:取反 &

 

file 指令

  • 功能说明: 辨识文件类型
  • 语法file [选项] 文件或目录...
  • 常用选项
选项解释
-c详细显示指令执行过程
-z尝试解读压缩文件的内容

使用 sudo 分配权限

  1. 修改 /etc/sudoers 文件分配权限
  2. 使用 sudo 调用授权的命令
  • 实例:
sudo -u 用户名 命令
sudo -u root /usr/sbin/use
5.目录权限

我们来去掉r 权限,看看到底能不能进入这个 dir:

如果目录只没有 r 权限,允许进入、允许在该目录下创建(写入)文件,只不过是不允许查看

💡 Linux 下一切皆文件,目录也是文件。再结合 "文件 = 内容 + 属性" 去理解。

目录里面保存的是部分文件的 "属性" 。

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

共享目录

Linux 下可以存在一些目录,拥有者和所属组是 root,

其他人允许以 other 的身份在该目录下进行文件的创建、读取、删除和修改等操作:

想在共享目录下形成临时文件,但又怕别人给你删了,

你可以给共享的 <目录> 加上粘滞位来解决。

注意,是给目录加粘滞位!即你共享哪个目录,你就在哪个目录下加上粘滞位。

粘滞位

💭 以 root 身份给 all 目录添置粘滞位:

这样用户就无法随意删了

当一个目录设置为"粘滞位" (用 chmod +t),则该目录下的文件删除权限如下:

  1. 超级管理员可以删除
  2. 目录所有者可以删除
  3. 文件所有者可以删除

实例

目录设置了粘滞位 t 后,作为 other 就无法随意地删除其他用户的文件了: 

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

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

相关文章

Unity OpenCVForUnity 安装和第二个案例详解 <二>

目录 一、前言 二、场景介绍 1.WebCamTextureToMatExample脚本 2.FpsMonitor脚本 三、 结构体Scaler 四、找到相机并使用 1.相机的启用 2.格式转换 a.把webCamTexture转换成Mat b.把Mat转换成Texture2D 五、脚本组合 六、作者的碎碎念 一、前言 第二个案例&#xf…

大语言模型的昨天、今天和明天

引言 近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术突飞猛进&#xff0c;其中大语言模型&#xff08;LLM&#xff09;无疑是最引人瞩目的技术之一。从OpenAI的GPT系列到Meta的Llama模型&#xff0c;大语言模型的发展不仅改变了人们对AI的认知&#xff0c;也在各行…

通过防抖动代码解决ResizeObserver loop completed with undelivered notifications.

通过防抖动代码解决ResizeObserver loop completed with undelivered notifications. 一、报错内容二、解决方案解释&#xff1a; 一、报错内容 我通过el-tabs下的el-tab-pane切换到el-table出现的报错&#xff0c;大致是渲染宽度出现了问题 二、解决方案 扩展原生的 Resiz…

DevOps学习回顾01-技能发展路线-岗位能力-体系认知

事为先&#xff0c;人为重–事在人为 参考来源&#xff1a; 极客时间专栏&#xff1a;DevOps实战笔记&#xff0c;作者&#xff1a;石雪峰 课程链接&#xff1a;https://time.geekbang.org/column/intro/235 时代的典型特征 VUCA VUCA 是指易变性&#xff08;Volatility&…

破局者:Codebeamer如何打破传统束缚,开启工程新纪元

飞速发展的数字时代&#xff0c;一场深刻的数字化革命正在重塑各行各业的价值链条&#xff0c;为产品开发组织带来了前所未有的挑战。随着电子技术和软件组件在产品设计中的地位日益凸显&#xff0c;传统的工程实践正经历着一场深刻的变革。为了顺应这一潮流&#xff0c;企业必…

【碳排放控排1006】碳排放控排企业名单数据集,探索绿色生产!

今天给大家分享的是国内顶级期刊2023发表论文《碳排放规制、企业减排激励与全要素生产率——基于中国碳排放权交易机制的准自然实验》中使用到的重要数据集——碳排放控排企业名单&#xff0c;该论文从企业生产效率视角对论文进行研究&#xff0c;发现碳排放权交易机制显著提升…

植物大战僵尸杂交版V2.1快速刷金币的方法(新号适用,无需自带招财猫)

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 1. &#x1f4bb;游戏介绍 2. &#x1f525;快速刷取金币的办法&#xff08;我是新号测试的&#xff09; 2.1 无招财猫 2.2 有招财猫 《植物大战僵尸杂交版》是一款在原版《植物大战僵尸》基础上进行了创新的塔防…

Java学习【深入解读File类:从基础到高级的完整指南】

Java学习【深入解读File类&#xff1a;从基础到高级的完整指南】 ⭐File的概述和构造方法⭐File常见的成员方法&#x1f319;构造方法&#x1f319;length()&#x1f319;getAbsoluteFile()和getPath()&#x1f319;getName()和lastModified() ⭐文件的创建和删除⭐获取并遍历 …

【OpenHarmony开发】 tracepoint的机制总结

一、tracepoint 的机制 1.1 DECLARE_HOOK 解析 DECLARE_HOOK(vendor_bond_check_dev_link,TP_PROTO(const struct bonding *bond, const struct slave *slave, int *state), TP_ARGS(bond, slave, state)); ​ // 在已经实现如下宏定义的前提下 // CONFIG_TRACEPOINTS 和 CO…

AbMole带你探索颅内压力与肌肉生长的联系:一项突破性研究

在生物医学领域&#xff0c;颅内压力&#xff08;ICP&#xff09;的调控机制一直是研究的热点。最近&#xff0c;一项发表在《PLOS ONE》上的研究为我们揭示了颅内压力与后颅窝肌肉生长之间的潜在联系&#xff0c;为我们理解某些慢性头痛的成因提供了新的视角。 颅内压力的异常…

temu跨境选品师是怎么样的一个项目?

TEMU(特穆)跨境选品师项目&#xff0c;作为一项创新的全球商品采购和选品服务&#xff0c;正在逐步改变消费者对于跨境电商产品的认知和选择方式。这个项目不仅仅是一个简单的商品推荐平台&#xff0c;更是一种以数据驱动的精准选品策略的体现&#xff0c;为消费者提供了全新的…

Spring Boot集成vavr快速入门demo

1.什么是vavr&#xff1f; 初闻vavr&#xff0c;感觉很奇怪&#xff0c;咋这个名字&#xff0c;后面看到它的官网我沉默了&#xff0c;怀疑初创团队付费资讯了UC震惊部如何取名字&#xff0c;好家伙&#xff0c;vavr就是java这四个字倒过来&#xff0c;真的是’颠覆’了java……

为什么Mid journey很容易就能做出很有氛围感的图而SD却容易做图很丑?

前言 6月12日&#xff0c;Midjourney更新了一项新的功能——模型个性化&#xff0c;这一项功能最重要的作用就是能够让生成的图像更加符合你自己的审美标准。就像每个艺术家都有自己的独特风格一样&#xff0c;有了这项模型个性化功能的加持&#xff0c;每个人都能生成具有鲜明…

【机器学习】第5章 朴素贝叶斯分类器

一、概念 1.贝叶斯定理&#xff1a; &#xff08;1&#xff09;就是“某个特征”属于“某种东西”的概率&#xff0c;公式就是最下面那个公式。 2.朴素贝叶斯算法概述 &#xff08;1&#xff09;是为数不多的基于概率论的分类算法&#xff0c;即通过考虑特征概率来预测分类。 …

C#利用SignalR实现通信事例Demo

1.服务端安装SignalR的Nuget包 dotnet add package Microsoft.AspNet.SignalR --version 2.4.3 2.接下来&#xff0c;创建一个ChatHub类&#xff0c;它是SignalR通信的核心&#xff1a; using Microsoft.AspNetCore.SignalR;public class ChatHub : Hub {public static Dict…

MATLAB 二维平面绘图

x 0:0.01:2pi: 大家还记得这个是什么意思吧 就是0到2π 每次所取的数 是相差0.01进行选取的 ysin&#xff08;x&#xff09;: figure (这个意思就是建立一个幕布) plot&#xff08;x&#xff0c;y&#xff09; 这个主要是绘制当前的二维平面的图 但是大家会发现这张图里没有标…

反激开关电源输入电解电容选型及计算

输入电解电容波形如下 计算 1、输入电解电容经验选取法 当输入电压为220V20%&#xff08;AC176-264V&#xff09;时 按照输出功率选取&#xff1a;W/μF 耐压&#xff08;400V&#xff0c;输入176-264V最高DC峰值373V&#xff09; 当输入电压为11020%时&#xff08;AC88-132V…

windows服务器一台机器安装多个mysql实例

1、复制安装mysql安装包 2、修改配置文件信息 标注红色部分是需要修改成复制后的包信息 [mysqld] default-time_zone8:00basedirD:/tools/MySQL-Cluster/mysql-53306 datadirD:/tools/MySQL-Cluster/mysql-53306/data default-storage-engineINNODB sql-mode"STRICT_TRANS…

网络运维:企业数字化转型的基石

在数字化时代&#xff0c;网络已经成为企业运营不可或缺的一部分。网络运维作为确保网络稳定、安全和高效运行的关键环节&#xff0c;其重要性不言而喻。本文将探讨网络运维的重要性&#xff0c;并分析其在企业数字化转型中的作用。 网络运维的定义 网络运维&#xff0c;也称…

Amazon Systems Manager中补丁合规性定期扫描

问题 需要使用Amazon Systems Manager对EC2补丁合规性定期扫描。 步骤 点击如下入口界面&#xff1a; 权限使用默认配置&#xff0c;勾选“Scan instances for missing patches daily”每天扫描EC2实例是否存在补丁&#xff0c;来完成合规检查&#xff0c;选择所有实例&…