Linux 权限掌控术:深入探索和用户管理

文章目录

  • 前言
  • 1.外壳程序是什么?
    • 外壳程为什么存在?
    • 工作原理
    • 外壳程序怎么个事?
  • 2. Linux权限的概念
    • 2.1 什么是权限
    • 2.2权限的本质
    • 2.3 Linux中的用户
  • 3. 普通用户变成root
    • linux中有三种人
  • 4.Linux中文件的权限
    • 4.1文件的属性权限
    • 4.2 掌握修改权限的方法`chmod`
    • 4.3 对比权限的有无,表现
    • 4.4.相关权限的第二套做法
    • 权限的数字表示法
  • 5.文件类型
    • b:块设备文件
    • c:字符设备文件
    • p:管道文件
    • l:链接文件
    • 如何理解`x`(可执行权限)
  • 6. Linux创建文件时,为什么有默认权限
  • 结语:

前言

在这篇博客中,我们将深入探索 Linux 权限系统,这是理解和有效管理 Linux 系统的一个关键组成部分。Linux 权限系统为系统安全提供了强大的基础,它通过精确控制对文件和目录的访问来保护系统免受未授权的访问和更改。无论您是 Linux 新手还是经验丰富的系统管理员,掌握 Linux 权限的知识都是至关重要的。在这篇博客中,我们将详细介绍权限类型、特殊权限设置、权限的数字表示法,以及如何管理和应用这些权限。我们的目标是提供一个清晰、全面的指南,帮助您理解和有效地使用 Linux 权限系统。

1.外壳程序是什么?

大部分指令就是文件用户执行某种功能的时候,不是直接让操作系统执行对应的指令的,而是先交给外壳小程序

外壳程序是操作员与操作系统交互的界面,操作系统再负责完成与机器 硬件 的交互。
介于用户和操作系统之间的软件,也叫命令行解释器

外壳程为什么存在?

1.用户不善于和os(操作系统)之间交互
2.shell外壳的存在,可以对请求进行合法性检查,变相的保护os

工作原理

命令解析:Shell 首先解析命令行输入,处理特殊字符(如引号、空格)。
环境变量:Shell 使用环境变量来配置用户环境。例如,PATH 环境变量定义了 Shell 搜索可执行文件的目录。
管道和重定向:Shell 允许使用管道(|)和重定向(>、<)来连接多个命令,使得输出从一个命令流向另一个命令。

外壳程序怎么个事?

创建子进程,让子进程进行执行
一直都可以做自己的工作—不受任何失败的影响
bash基本都会给我们创建一个子进程(帮用户进行命令解释)bash只需要进行等待就行了


2. Linux权限的概念

2.1 什么是权限

通过一定的条件,拦住一部分人,给另外一部分权力,来访问某种资源

2.2权限的本质

权限和人有关
权限和事务的属性有关
权限= 人+事务的属性

2.3 Linux中的用户

超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

3. 普通用户变成root

su +密码或者su -+密码
区别:
su 是把普通用户身份发生变化为root
su -相当于让root重新登陆
pwd所处于的路径不会发生变化

建议普通用户和root不要设置成为一样的

root 账户想要变成其他账户不需要密码,直接su+用户名
su 用户名:从root变成普通用户

ctrl+D退回普通用户

linux中有三种人

分别为:拥有者.所属组.other

拥有者——文件和文件目录的所有者:u---User(中国平民 法律问题)
所属组——文件和文件目录的所有者所在的组的用户:g---Group(不多说)
other——其它用户:o---Others (外国人)

sudo指令提权
普通用户以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。


4.Linux中文件的权限

4.1文件的属性权限

一般三种:

r.读
w.写
x.可执行权限

权限=用户角色(具体的人)+文件权限属性
在这里插入图片描述

4.2 掌握修改权限的方法chmod

一个文件的权限,谁可以修改?
a:文件的拥有者
b:root用户


命令chmod
功能:设置文件的访问权限格式:chmod [参数] 权限 文件名

运行chmod u-r test.txt意味着就文件test.txt的拥有者的去掉r(减去r)权限
在这里插入图片描述
同理:
运行chmod u-r test.txt意味着就文件test.txt的拥有者的加上r权限
在这里插入图片描述

总结:
更改所属组的权限用chmod g±?(r.w.x)
更改other的权限用chmod o±?(r.w.x)

多个"人"的权限操作:
在这里插入图片描述

对所有人进行操作
如:chmod a+r test.txt
在这里插入图片描述

4.3 对比权限的有无,表现

对于普通用户,自身要受到权限的约束,即使这个文件是自己的!
root 账号不受权限的约束,

权限存在的意义是保证普通用户的文件的一般安全性!
当拥有者没有权限,而所属组拥有权限时对其进行读,写,执行,操作时,并不能执行
在这里插入图片描述

对用户身份进行识别时,只识别一次。匹配成功就不往后匹配,优先匹配拥有者,如果匹配不成功,则匹配所属组。

在root情况下,更改文件的拥有者:chown +用户+文件名
在这里插入图片描述

比如:此时我们是whb,我们把文件的拥有者改成root,首先匹配拥有者是否是root,很显然并不是所以接下来开始匹配所属组是否是whb,是然后匹配权限,权限允许,就可以进行操作。

在这里插入图片描述

在root情况下,更改文件的所属组:chgrp+用户+文件名

4.4.相关权限的第二套做法

前面说过:
权限= 用户角色(具体的人)+文件权限的属性
如果你是一个普通权限者,想要把文件拥有者或者所属组给别人,但是权限不允许,就要用sudo提权。

操作方法:
sudo+chown +用户+文件名
sudo+chown +用户1+用户2+文件名(拥有者或者所属组全部改)
sudo+chgrp +用户+文件名
把文件给别人是强制的!

权限的数字表示法

八进制表示:每种权限类型(读、写、执行)分别对应一个数字(4、2、1)。通过将这些数字相加来表示不同的权限组合。例如,chmod 755 表示所有者有全部权限(7),而组用户和其他用户只有读和执行权限(5)

chmod+八进制+文件名
在这里插入图片描述
在这里插入图片描述

5.文件类型

windows中是通过后缀名区分文件类型的。
在这里插入图片描述

但是Linux不通过后缀名区分文件类型(不是说,Linux不用后缀)
在Linux中是通过ls-l结果的第一个属性列来区分的
比如:

-:普通文件,文本文件,可执行程序,库等都叫做普通文件
d:目录文件
b:块设备文件
c:字符设备文件
p:管道文件
l:链接文件

b:块设备文件

这里表示磁盘设备
在这里插入图片描述

c:字符设备文件

在显示器上输出的数字是以字符的形式输出的,显示器本质就是字符设备,又因为在LInux中,一切皆是文件,所以显示器也是字符设备文件,
在这里插入图片描述
当我们复制渠道,相当于多打开了显示器,
在这里插入图片描述
这时候我们继续查看会发现多了个1
在这里插入图片描述
秉承着Linux中一切皆文件的原则,我们向1中重定向(写入)内容,可以发现,另外一个屏幕输出了这个内容
在这里插入图片描述
当前屏幕为0,对0操作也输出了
在这里插入图片描述

p:管道文件

进行进程间的通信
我们把hello Linux输入到管道文件pipe中,然后在另外一个文件中进行输入重定向,可以发现hello Linux在另外一个显示器中打印了
在这里插入图片描述
这就叫做进程间通信

l:链接文件

首先创建一个链接文件
在这里插入图片描述
在这里插入图片描述
运行这个文件可以发现,结果是原文件的内容
在这里插入图片描述
注意:
在这里插入图片描述

如何理解x(可执行权限)

可执行权限 vs 可执行
可执行权限≠可执行
我们给文件test.c加上x权限,并且运行,发现运行并不成功

在这里插入图片描述可以执行 = 具有可执行权限+它就是一个可执行的文件。

如果我们要进入一个目录,需要什么权限?
目录的r权限:决定用户能否查看指定目录内的文件信息
目录的w权限:决定用户能否在指定目录内新建,修改,删除文件
目录的x权限:决定用户能否进入目录

如何理解?
文件=内容+属性
在这里插入图片描述

6. Linux创建文件时,为什么有默认权限

创建的起始权限是:0666,去掉x的
创建的起始权限是:0777,包含x的
而我们生成文件时,是减去umask的。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

我们可以用umask 0000指令把umask清零。
这时候,我们创建的文件的权限就都是起始权限了
在这里插入图片描述

结语:

通过本篇博客的阅读,您现在应该对 Linux 权限系统有了一个全面的了解。从基本权限的分配到特殊权限的应用,从理解权限的数字表示法到实际操作中的权限管理,我们已经覆盖了所有关键方面。掌握这些概念不仅对于保护您的系统至关重要,而且对于优化工作流程、提高生产效率也有显著的益处。希望您能将这些知识应用到日常的 Linux 使用和管理中,更加自信和高效地处理各种权限相关的任务。

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

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

相关文章

2024.1.1每日一题

LeetCode每日一题 新的一年开始了&#xff0c;祝大家新年快乐&#xff0c;坚持做每日一题。 1599.经营摩天轮的最大利润 1599. 经营摩天轮的最大利润 - 力扣&#xff08;LeetCode&#xff09; 题目描述 你正在经营一座摩天轮&#xff0c;该摩天轮共有 4 个座舱 &#xff0…

DevOps系列之 JNI实现Java调用C的实现案例

JNI&#xff08;Java Native Interface&#xff09;允许Java代码与其他语言编写的代码进行交互。以下是一个简单的JNI示例&#xff0c;演示如何使用JNI在Java中调用C/C函数。 最终的目录结构如下&#xff1a; JNI&#xff08;Java Native Interface&#xff09;允许Java代码与其…

服务器硬件及RAID配置实战

目录 1、RAID的概念 2、RAID的实现方式 3、标准的RAID 3.1 RAID 0 3.2 RAID 1 3.3 RAID 5 3.4 RAID 10 4、建立硬件 RAID的过程步骤 1、进入RAID 1.1 重启服务器 1.2 进入RAID界面 1.3 在RAID界面切换目录 2、创建RAID 2.1 移动到RAID卡 2.2 按F2&#xff0c;选择…

lenovo联想拯救者8.8英寸掌上游戏机Legion Go 8APU1(83E1)原装出厂Windows11预装系统

链接&#xff1a;https://pan.baidu.com/s/1d586XWXcAWVxlLyV2Oku7Q?pwdd74t 提取码&#xff1a;d74t 系统自带所有驱动、出厂主题壁纸、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xff1a;ISO 文件大小&#xff1a;…

适用于各种危险区域的火焰识别摄像机,实时监测、火灾预防、安全监控,为安全保驾护航

火灾是一种极具破坏力的灾难&#xff0c;对人们的生命和财产造成了严重的威胁。为了更好地预防和防范火灾&#xff0c;火焰识别摄像机作为一种先进的监控设备&#xff0c;正逐渐受到人们的重视和应用。本文将介绍火焰识别摄像机在安全监控和火灾预防方面的全面应用方案。 一、火…

操作系统(Operator System)

这里写目录标题 1. 什么是操作系统2. 主要功能3. 计算机的层状结构4. 什么叫做管理5. 总结6. 为什么要有操作系统7. 最后 1. 什么是操作系统 操作系统&#xff08;英语&#xff1a;Operating System&#xff0c;缩写&#xff1a;OS&#xff09;是一组主管并控制计算机操作、运…

CRM客户关系管理系统

系统开发环境以及版本 操作系统&#xff1a; Windows_7集成开发工具&#xff1a; Eclipse EE_4.7编译环境&#xff1a;JDK_1.8Web服务器&#xff1a;Tomcat_9.0数据库&#xff1a;MySQL_5.7.23 系统框架 spring框架springmvc框架mybatis框架Logback日志框架安全验证框架maven框…

你逛过凌晨四点的校园吗?--大四毕业生的年终总结

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 又是一年的年终总结&#xff0c;我也迎来了自己的毕业季&#xff0c;没错&#xff0c;我马上要毕业啦&#xff01;不知道大家是什么时候认识我的呢&#xff0c;又或者是第一次发现我~这一年&#xff0c;迎接过朝阳、拍下过…

Filezilla使用

服务端 点击安装包 点击我接受 点击下一步 点击下一步 点击下一步 点击安装即可 配置用户组&#xff0c;点击编辑&#xff0c;出现组点击 点击添加&#xff0c;点击确定即可 配置用户&#xff0c;点击编辑点击用户 点击添加&#xff0c;设置用户名&#xff…

搭建 Mac系统Arduino + MindPlus开发环境

搭建 Mac系统Arduino MindPlus开发环境 1.概述 2024年1月1号&#xff0c;元旦大家的安排丰富多彩&#xff0c;在这一天中我的安排依旧坚持初心&#xff0c;牢记使命。学习是我的起点也是我的终点&#xff0c;只要活着就要用知识丰富自己的生活。 今天是一个有意义的日子&…

数据结构—树的应用

文章目录 11.树的应用(1).Huffman树#1.加权外部路径长度#2.Huffman算法#3.Huffman编码 (2).二叉搜索树#1.基本定义#2.查找#3.插入结点#4.构建树#5.查找最小值和最大值#6.删除结点#7.一个问题 (3).平衡搜索树#1.满二叉树、完全二叉树和丰满二叉树#2.平衡因子和平衡树#3.左旋与右…

DrGraph原理示教 - OpenCV 4 功能 - 阈值

普通阈值 OpenCV中的阈值用于相对于提供的阈值分配像素值。在阈值处理中&#xff0c;将每个像素值与阈值进行比较&#xff0c;如果像素值小于阈值则设置为0&#xff0c;否则设置为最大值&#xff08;一般为255&#xff09;。 在OpenCV中&#xff0c;有多种阈值类型可供选择&am…

模型 冰山理论

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。冰山下面才是重点。 1 冰山理论的应用 1.1 冰山理论在生活中的常见应用 人际交往&#xff1a;在人际交往中&#xff0c;很多人只关注表面的行为和语言&#xff0c;而忽略了内在的情感和动…

给零基础朋友的编程课09 上集 - 代码

给零基础朋友的编程课09 上 - 矩形、曲线、文字、案例5讲解 上_哔哩哔哩_bilibili 上半Code: / // 彩色案例 艺术仿制品4 // /// 色表 // // 238,150,43 橙 // 229,207,192 暖灰 // 204,50,47 暗红// 项目设定 size(825, 984); // 设置画布(窗口)尺寸 background(…

Dungeon Scrawl——在线虚拟世界地图制作器

今天带来一款十分有趣的地图应用&#xff0c;同样也是在线地图工具&#xff0c;如果我们想要制作此类风格的地图&#xff0c;这款工具定能助我们一臂之力。 按照惯例先给出网址&#xff1a; Dungeon Scrawl | Free Online D&D Map Maker 进入网站&#xff0c;点击Start S…

JavaAwtSwing用 GridBagLayout GridBagConstraints 居中

JavaAwtSwing用 GridBagLayout GridBagConstraints 居中 GridBag单行单列居中JLabel import java.awt.*; import java.awt.event.*;import javax.swing.*;public class GridBag单行单列居中JLabel {static JFrame frame new JFrame(Thread.currentThread().getStackTrace()[…

C语言与人生:数组交换和二分查找

少年们&#xff0c;大家好。我是博主那一脸阳光&#xff0c;今天和分享数组交换和二分查找。 前言&#xff1a;探索C语言中的数组交换操作与二分查找算法 在计算机编程领域&#xff0c;特别是以C语言为代表的低级编程语言中&#xff0c;对数据结构的理解和熟练运用是至关重要的…

junit单元测试Mock

在平常工作&#xff0c;经常会用到单元测试&#xff0c;那么单元测试应该怎么写呢&#xff1f; 1&#xff1a;引入包&#xff1a; <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><…

低成本TB级数据库技术选型之思考两三点

一、背景 前段时间在搞毕业论文的选题&#xff0c;最头疼的就是大量的文献检索和阅读&#xff0c;从研究的角度上我们可以将文献分为四类&#xff1a; 理论文献&#xff1a;为研究提供理论的框架和基础的文献。这些文献可能并不会和所做的研究直接相关&#xff0c;甚至由于理…

【2023】hadoop基础介绍

&#x1f4bb;目录 Hadoop组成HDFSHDFS操作HDFS分布式文件存储NameNode元数据数据读写流程 YARN和MapReduceMapReduce&#xff1a;分布式计算YARN&#xff1a;资源管控调度YARN架构提交任务到**YARN中运行** Hadoop组成 hadoop安装教程可以看我这篇文章> &#x1f345;hado…