Linux权限基础知识

news2024/10/13 2:14:30

                                       前言:作者也是初学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.coloradmin.cn/o/1108603.html

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

相关文章

CUDA编程入门系列(二) GPU硬件架构综述

一、Fermi GPU Fermi GPU如下图所示,由16个SM(stream multiprocessor)组成,不同的SM之间通过L2 Cache和全局内存进行相连。整个架构大致分为两个层次,①总体架构由多个SM组成 ②每个SM由多个SP core(stream…

从零开始的C语言学习第二十课:数据在内存中的存储

目录 1. 整数在内存中的存储 2. 大小端字节序和字节序判断 2.1 什么是大小端? 2.2 为什么有大小端? 3. 浮点数在内存中的存储 3.1 浮点数存的过程 3.2 浮点数取的过程 1. 整数在内存中的存储 在讲解操作符的时候,我们就讲过了下⾯的内容&#x…

Day3力扣打卡

打卡记录 改变一个整数能得到的最大差值(贪心) 链接 得到最大的整数,找到一个高位将它修改为 9。同理,想要得到最小的整数,找到一个高位将它修改为 0。 class Solution { public:int maxDiff(int num) {auto replace …

国内首家,极越展示纯视觉城市NOA,正面对决特斯拉FSD

作者 | 德新 编辑 | 王博 10月17日,极越宣布其基于纯视觉的高阶智驾方案,已在上海核心城区跑通城市领航辅助功能,同时官方还首次公布了与百度联合开发的Occupancy占用格栅网络技术。 基于对极越一贯的判断,我们认为,…

一些经典的神经网络(第17天)

1. 经典神经网络LeNet LeNet是早期成功的神经网络; 先使用卷积层来学习图片空间信息 然后使用全连接层来转到到类别空间 【通过在卷积层后加入激活函数,可以引入非线性、增加模型的表达能力、增强稀疏性和解决梯度消失等问题,从而提高卷积…

集成学习方法(随机森林和AdaBoost)

释义 集成学习很好的避免了单一学习模型带来的过拟合问题 根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类: Bagging(个体学习器间不存在强依赖关系、可同时生成的并行化方法) 流行版本:随机森林(random forest)Boosting(个体…

8.strtok函数

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h>int main() {/*----------------------函数解析----------------------*//*函数原型&#xff1a;char* strtok(char* str, char const* sep)*//*函数入参&#xff1a;第一个参数是要分割的…

Layui 主窗口调用 iframe 弹出框模块,获取控件的相应值

var iframeWindow window[layui-layer-iframe index]; iframeWindow.layui.tree............(这里就可以操作tree里面的内容了)。var chrild layero.find(iframe).contents(); chrild.layui.tree (这样是调用不到的)。var child layer.getChildFrame(); child.layui.tree(这…

Linux常见指令及热键

文章目录 1. ls 指令语法实例 2. pwd 指令语法实例 3. cd 指令语法实例 4. touch 指令语法实例 5. mkdir语法实例 6. rmdir 指令语法实例 7. rm 指令语法实例 8. man 指令语法实例 9. cp 指令语法实例 10. mv 指令语法实例 11. cat 指令使用权限语法格式参数说明&#xff1a;实…

【Java系列】Java 简介

目录 Java 简介主要特性发展历史Java 开发工具系列文章版本记录 Java 简介 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发&#xff0c;并在 1995 年正式推出。 后来 Sun 公司被 Ora…

Android apkanalyzer简介

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、用法3.1 使用 Android Studio3.1.1…

Arduino Nano 引脚复用分析

近期开发的项目为气体传感器采集仪&#xff0c;综合需求&#xff0c;选取NANO作为主控&#xff0c;附属设备有 oled、旋转编码器、H桥板、蠕动泵、开关、航插等&#xff0c;主要是用现有接口怎么合理配置实现功能。 不管stm32 还是 Arduino 都要看清引脚图 D2 D3 引脚是两个外…

abap中程序跳转(全)

1.常用 1.CALL TRANSACTION 1.CALL TRANSACTION ta WITH|WITHOUT AUTHORITY-CHECK [AND SKIP FIRST SCREEN]. 其中ta为事务码tcode使用时要打单引号() 2. CALL TRANSACTION ta WITH|WITHOUT AUTHORITY-CHECK USING bdc_tab { {[MODE mode] [UPDATE u…

【JavaEE】浅谈死锁

1、什么是死锁&#xff1f; 死锁是这样一种情形&#xff1a;多个线程同时被阻塞&#xff0c;它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞&#xff0c;因此程序不可能正常终止。 2、关于死锁的情况 2.1 一个线程一把锁&#xff0c;可重入锁没事。不…

Jmeter压测入门教程

目录 1.Jmeter安装与启动 2.Jmeter使用步骤 3.结果分析 1.Jmeter安装与启动 安装 1. 首先进入官网Apache JMeter - Download Apache JMeter 2. 选择操作系统所对应的版本进行下载。 3.将下载成功的压缩包解压到指定目录当中&#xff0c;即安装成功。 4. 右键“我的电脑”…

spring6-资源操作:Resources

资源操作&#xff1a;Resources 1、Spring Resources概述2、Resource接口3、Resource的实现类3.1、UrlResource访问网络资源3.2、ClassPathResource 访问类路径下资源3.3、FileSystemResource 访问文件系统资源3.4、ServletContextResource3.5、InputStreamResource3.6、ByteAr…

程序员必备的IP查询工具

shigen坚持日更的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。坚持记录和分享从业两年以来的技术积累和思考&#xff0c;不断沉淀和成长。 hello&#xff0c;今天shigen给大家分享一下如何优雅的查询IP的工具。我们先看一下效果&a…

LeetCode 1361. 验证二叉树【二叉树,DFS或BFS或并查集】1464

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

Yakit工具篇:端口探测和指纹扫描的配置和使用

简介&#xff08;来自官方文档&#xff09; 端口扫描和指纹识别是渗透测试和网络安全领域中常用的基础技术之一&#xff0c;用于评估目标系统的安全性和发现可能存在的漏洞和攻击面。也是Yakit基础工具的模块之一。 端口扫描 是指通过扫描目标系统上的端口&#xff0c;确定哪…