Linux权限基础知识

                                       前言:作者也是初学Linux,可能总结的还不是很到位

                                               Linux修炼功法:初阶功法

                                       ♈️今日夜电波:修炼爱情 —林俊杰

                                                                0:30━━━━━━️💟──────── 4:47
                                                                    🔄   ◀️   ⏸   ▶️    ☰ 

                                      💗关注👍点赞🙌收藏您的每一次鼓励都是对我莫大的支持😍


目录

Linux权限的理解

Linux权限的概念

        普通用户与超级用户的互相切换 

Linux权限管理

        1.文件访问者的分类(人)

        2.文件类型和访问权限(事物属性)

        3.文件访问权限的相关设置方法

        chmod

        文件权限值的表示方法

        chown

        chgrp

         umask

file指令

        使用 sudo分配权限

Linux目录的权限 

        粘滞位


Linux权限的理解

        Linux权限是一种机制,用于控制用户或进程对文件和目录的访问权限。在Linux中,每个文件和目录都有一组权限,它们确定了哪些用户可以访问该文件或目录、以及他们可以对其执行哪些操作。

        Linux权限由三个部分组成:所有者权限、组权限和其他用户权限。每个部分都包含三个权限位:读、写和执行权限。权限位可以分别用数字表示,分别是4、2和1,或用符号表示,如r、w和x。例如,rwxr-xr--表示所有者具有读、写、执行权限,组用户具有读和执行权限,其他用户只有读权限。

        通过更改文件或目录的权限,可以限制特定用户或组的访问权限。这是保护敏感文件和目录的重要方式。但是,应该注意,更改权限可能会导致某些进程或应用程序无法正常工作。

Linux权限的概念

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

        普通用户与超级用户的互相切换 

命令: su [用户名]
功能:切换用户。
        例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

Linux权限管理

        1.文件访问者的分类(人)

        在Linux系统中,文件访问者可以分为三类:所有者、组用户和其他用户

  1. 所有者:文件或目录的所有者是创建该文件或目录的用户,或者在创建过程中使用了sudo或su命令。所有者可以对该文件或目录进行任何操作,包括读取、写入和执行。

  2. 组用户:组用户是指文件或目录的所属组中的用户。在Linux系统中,每个用户都属于一个或多个组。如果文件或目录的所属组包含当前用户所属的组,则该用户就是组用户。组用户可以读取和执行该文件或目录,但不能修改。

  3. 其他用户:除了文件或目录所有者和所属组用户之外的所有用户都被归类为其他用户。其他用户只能读取该文件或目录,不能修改或执行。


        2.文件类型和访问权限(事物属性)

        一图了解~


         什么意思呢?以下解释:(我们通过ll指令查看文件时通常会这样显示,以下就是对应上图)

        具体介绍:      

        文件类型

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

        基本权限
        i.读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
        ii.写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
        iii.执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
        iv.“—”表示不具有该项权限


        3.文件访问权限的相关设置方法

        chmod

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

常用选项:

        R -> 递归修改目录文件的权限
        说明:只有文件的拥有者和root才可以改变文件的权限

用户表示符+/-=权限字符

        用户表示符+/-=权限字符
        +:向权限范围增加权限代号所表示的权限
        -:向权限范围取消权限代号所表示的权限
        =:向权限范围赋予权限代号所表示的权限
        用户符号:
        u:拥有者
        g:拥有者同组用
        o:其它用户
        a:所有用户

        🌰

        文件权限值的表示方法

②三位8进制数字来修改权限
        chmod a=x /home/abc.txt

        chown

功能:修改文件的拥有者
格式: chown [参数] 用户名 文件名

常用选项:

        -R : 处理指定目录以及其子目录下的所有文件 

        chgrp

功能:修改文件或目录的所属组
格式: chgrp [参数] 用户组名 文件名

常用选项:

         -R 递归修改文件或目录的所属组 

         umask

功能:查看或修改文件掩码
        新建文件夹默认权限=0666
        新建目录默认权限=0777
        但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask。
格式: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

# umask 755
# umask //查看
# umask 044//设置

file指令

功能:辨识文件类型。
语法: file [选项] 文件或目录...

 常用选项:
        -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
        -z 尝试去解读压缩文件的内容

        使用 sudo分配权限

        (1)修改/etc/sudoers 文件分配文件

# chmod 740 /etc/sudoers
# vi /etc/sudoer

        格式:接受权限的用户登陆的主机 =(执行命令的用户) 命令

      (2)使用 sudo 调用授权的命令

$ sudo –u 用户名 命令

Linux目录的权限 

        在Linux系统中,目录的权限也是通过权限标记(rwx)来控制的。目录的权限包含三种:

        1.读权限(r):能否查看目录中的内容和属性。

        2.写权限(w):能否在目录中创建、删除或重命名文件或目录。

        3.执行权限(x):能否通过目录进入其下子目录或者访问其下文件。

        与文件不同,目录的权限还涉及到其下所有文件和子目录的访问权限。对于一个用户,只有当该用户拥有访问目录的权限和目录下的所有文件和子目录的权限,才能够访问该目录。

        需要注意的是,对于目录的权限,只有在拥有执行权限的情况下,才能够访问该目录下的文件。若没有执行权限则无法查看或访问目录下的内容。

        粘滞位

        Linux中的粘滞位是一种特殊的权限标记,用于保护某些目录和文件,以防止被误删或者更改。当一个目录或者文件的粘滞位被设置后,只有该目录或文件的所有者和超级用户才能够进行删除、重命名或者更改操作。其他用户或者进程没有权限进行这些操作。

        粘滞位的标记是“t”或者“T”,其在权限位中的位置与其他标记一致。如果在权限位中显示为“t”,表示该文件或目录的粘滞位已经被设置,只有该文件或目录的所有者和超级用户才能进行删除、重命名或者更改操作;如果显示为“T”,表示该文件或目录的权限中的执行位没有启用,粘滞位无效。

功能:防止他人删除

语法:chmod +t 目录


                    感谢你耐心的看到这里ღ( ´・ᴗ・` )比心,如有哪里有错误请踢一脚作者o(╥﹏╥)o! 

                                       

                                                                         给个三连再走嘛~  

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

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

相关文章

大规模语言LLaVA:多模态GPT-4智能助手,融合语言与视觉,满足用户复杂需求

大规模语言LLaVA:多模态GPT-4智能助手,融合语言与视觉,满足用户复杂需求 一个面向多模式GPT-4级别能力构建的助手。它结合了自然语言处理和计算机视觉,为用户提供了强大的多模式交互和理解。LLaVA旨在更深入地理解和处理语言和视…

在 Windows Server RDS 服务器 上重置 120 天宽限期

如果您出于测试目的安装了 RDS Server 2016/2019/2022,并且 RDS 许可宽限期已过期,请继续阅读下面的内容以了解如何重置 120 天宽限期。您可能知道,在安装 RDS Server 2016 时,您有 120 天的时间来安装 RD 客户端访问许可证 &…

5分钟内在Linux上安装.NET Core应用程序

作为开源的忠实粉丝,我喜欢 .NET Core 的跨平台特性。它开启了无限的可能性,从业余爱好项目、实验和概念验证,到在具有高安全性和可扩展性的经济高效基础设施上运行的大规模高负载生产应用程序。我通常从任何云平台提供商那里获得最简单、最便…

浅谈电气防火限流式保护器在小型人员密集场所中的应用

摘要:本文通过结合城市中小型人员密集场所的特点和电气防火限流式保护器的功能,阐述了该类筑物预防电气火灾事故的方法。 关键词:小型人员密集场所;电气防火限流式保护器 0:概述 近年来,随着社会经济的不…

报错InitializeComponent报错(提示不存在)

我是c#新手。为了解决这个问题,需要按照以下步骤进行。、 首先,确保项目的类型为WPF应用(.NET Framework); 然后,代码的位置应正确处于项目的MainWindow.xaml.cs; 最后,将MainWindow.xaml打开,…

PyTorch深度学习实战(22)——从零开始实现YOLO目标检测

PyTorch深度学习实战(22)——从零开始实现YOLO目标检测 0. 前言1. YOLO 架构1.1 R-CNN 目标检测模型的局限性1.2 YOLO 目标检测模型原理 2. 实现 YOLO 目标检测2.1 编译 DarkNet2.2 设置数据集格式2.3 配置网络架构2.4 模型训练和测试 小结系列链接 0. 前…

服务器中了mkp勒索病毒怎么处理,mkp勒索病毒解密,数据恢复

10月份以来,云天数据恢复中心陆续接到很多企业的求助,企业的服务器遭到了mkp勒索病毒攻击,导致企业的服务器数据库被加密,严重影响了企业工作,通过这一波mkp勒索病毒的攻击,云天数据恢复工程师为大家总结了…

jQuery的使用,下载以及一些小案例

24.jQuery的使用 1.官网地址 https://jquery.com/ 版本: ●1X:兼容E678等低版本浏览器,官网不再更新 ●2x:不兼容IE678等低版本浏览器,官网不再更新 ●3x:不兼容E678等低版本浏览器,是官方主要更新维护的版本 2 jQuery的使用步…

如何处理前端响应式图片?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

正方形(Squares, ACM/ICPC World Finals 1990, UVa201)rust解法

有n行n列(2≤n≤9)的小黑点,还有m条线段连接其中的一些黑点。统计这些线段连成了多少个正方形(每种边长分别统计)。 行从上到下编号为1~n,列从左到右编号为1~n。边用H i j和V i j表示…

基于PHP的创意设计分享系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

jenkins整合gerrit

背景 公司项目之前使用jenkins整合了gitlab,后面代码迁移到gerrit,所以需要修改jenkins配置。下面就简单的介绍一下jenkins如何整合gerrit。 环境 服务器:linux 环境:docker、jenkins 代码仓库:gerrit 前提 docke…