当前位置: 首页 > news >正文

Linux的基本权限

一、对shell的浅显认识

shell是操作系统下的一个外壳程序,无论是Linux操作系统,还是Windows操作系统,用户都不会直接对操作系统本身直接进行操作,需要通过一个外壳程序去间接的进行各种操作

在Linux的shell外壳就是命令行,而Windows的shell外壳就是可视化界面

用户通过shell间接对操作系统操作的意义在于:

1.相对于直接操作,通过命令行或者可视化界面对系统进行操作的上手成本低很多,更加简单操作

2.用户部分不合理或者非法的操作,会被拒绝,相当于加了一层保护

3.在执行命令时,能够创造子进程执行

二、Linux的基本权限

1.对权限的基本认识

对权限的认识,先统一下概念: 权限 = 人 + 事物属性

对个行为的权限,首先得看这个东西它本身是否具备实现这个行为的事物属性,例如:对于一个普通的文本文件而言,它本身是不具备编译代码的功能,这是根据事物属性决定的

此外,还有对人的限制,例如,爱奇艺部分需要付费的影视剧,vip用户有权限观看,而非vip用户则没有权限

因此,谈论权限需要结合人和事物属性一起讨论

2.Linux下关于ls -l 展示的信息

(1)文件中对于用户的划分

ps:首先关于权限中提到的人,之后都是指普通用户,对于管理员root,几乎是具备所有权限的,不参与权限的讨论,所以权限是针对普通用户去设立的

文件对于用户的划分有:

拥有者:顾名思义,就是拥有这个文件的用户

所属组:所属组的概念是为了部分情况下,某些文件需要对一部分人开放权限,而对另一部分人设置权限的情况而设计的

other:除了拥有者和所属组,其他任何用户都属于other

结合ll指令就可看到一个文件的拥有者和所属组,上面的例子由于我是用root账户去执行操作的,所以拥有者和所属组都是root

(2)文件类型和文件属性

文件类型:文本文件、可执行文件、目录等等(刚开始学接触不多,具体可以查一下)

文件属性:可读、可写、可执行

重点是如何读懂上图第一个框的十个字母分别对应代表什么

首先第一个字母代表的是文件类型:

- :普通文件,文本文件,可执行文件,归档文件等等

d:目录

b:块设备、block、磁盘

c:字符设备、键盘、显示器

p:管道文件

s:网络socket文件

l:链接文件 link

剩下九个字母三个一组,对应着不同用户的权限,其中

r:可读

w:可写

x:可执行

-:无该权限

前三个是拥有者的权限,对应读(r)、写(w)、执行(x)

中间三个是所属组的权限

后面三个是other的权限

ps:每个权限的位置严格对应,若没有该权限则为-

例如:

(3)文件名字

关于文件名字,在Linux系统下对于文件类型的识别,不根据后缀去识别,因此对于Linux操作系统而言,文件的名字以及后缀都不影响操作系统识别文件类型,但是不代表我们不需要去使用后缀命名,因为在使用或者执行文件时,通常我们会使用到很多工具(例如gcc等等),这些根据是需要通过文件后缀去识别一个文件类型的,因此在命名的时候,仍然需要注意的文件后缀命名

3.对文件的读写基本指令

ps:这部分主要是我容易忘,所以简单整理一下到这里

(1)读

cat:打印输出

-n  打印时带行号

(2)写

echo:输出字符串

例:echo "666" >> text.txt

4.对权限的操作

对文件权限的操作就是对文件属性(rwx)和文件拥有者以及文件所属组的修改操作

(1)文件属性操作

格式:

第一种:chmod   u/g/o/a (此处没有空格)+/-(此处没有空格)rwx   file_name

u/g/o/a: u代表拥有者         g代表所属组       o代表other       a代表所有,即包括ugo三个

+/-:+代表加权限   -代表取消权限 

rwx:分别代表可读、可写、可执行

例:chmod a-rx text.txt  (修改text.txt的文件属性,将拥有者、所属组和other的读和执行权限取消)

第二种:也可以用八进制数去修改对应的权限位置

例如:chmod 777 text.txt 

其中的777可以看做为111 111 111,也就是将后面九位改成 rwxrwxrwx

一般只有文件的拥有者和root允许对该文件的属性进行操作

(2)更改文件拥有者

格式:chown 拥有者 文件名

例:chown chk test.txt(将test.txt文件的拥有者改为chk)

ps:一般只有root能够更改文件拥有者

(3)更改文件所属组

格式:chgrp 所属组 文件名

例:chgrp chk test.txt(将test.txt文件的所属组改为chk)

ps:root和文件拥有者都可以更改文件所属组

5.默认权限、起始权限和最终权限

例如:普通文件的起始权限是 666(110 110 110),掩码是2(000000010)

则最终权限(默认权限)就是 (110 110 110) & (~000000010) = 110 110 100(rw- rw- r--)

三、目录的权限

1.对目录读、写、执行的认识

目录的r:查看当前目录下文件的文件名字和文件属性的权限

目录的w:创建和删除当前目录下文件的权限

目录的x:进入当前目录的权限

2.粘滞位

粘滞位的作用是,在某些特定情况下,会需要root开启一个共享目录,在这个共享目录中,可以有多个用户同时向其中存放临时数据,其中为了保护不同用户的数据不被其他用户误删或者恶意删除,所以存在粘滞位去制约不同用户之间不允许删除对方的文件

用法:chmod +t 共享目录名称

总结

本篇文章是对Linux下的基本权限学习后的整理和理解

相关文章:

Linux的基本权限

一、对shell的浅显认识 shell是操作系统下的一个外壳程序,无论是Linux操作系统,还是Windows操作系统,用户都不会直接对操作系统本身直接进行操作,需要通过一个外壳程序去间接的进行各种操作 在Linux的shell外壳就是命令行&#…...

指纹加密U盘/指纹KEY方案——采用金融级安全芯片 ACH512

方案概述 指纹加密U盘解决方案可实现指纹算法处理、数据安全加密、数据高速存取(EMMC/TF卡/NandFlash),可有效保护用户数据安全。 方案特点 • 采用金融级安全芯片 ACH512 • 存储介质:EMMC、TF卡、NandFlash • 支持全系列国密…...

Cloud-Sleuth分布式链路追踪(服务跟踪)

简介 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败 GitHub - spring-cloud/spring-cloud-sl…...

flink重温笔记(十四): flink 高级特性和新特性(3)——数据类型及 Avro 序列化

Flink学习笔记 前言:今天是学习 flink 的第 14 天啦!学习了 flink 高级特性和新特性之数据类型及 avro 序列化,主要是解决大数据领域数据规范化写入和规范化读取的问题,avro 数据结构可以节约存储空间,本文中结合企业真…...

python75-Python的函数参数,关键字(keyword)参数

在定义Python函数时可定义形参(形式参数的意思)这些形参的值要等到调用时才能确定下来,由函数的调用者负责为形参传入参数值。简单来说,就是谁调用函数,谁负责传入参数值。 关键字(keyword)参数 Python函数的参数名不是无意义的&#xff0c…...

Java宝典-抽象类和接口

目录 1. 抽象类1.1 抽象类的概念1.2 抽象类的语法1.3 抽象类的特点 2. 接口2.1 接口的概念2.2 接口的语法2.3 接口的特点2.4 实现多个接口2.5 接口的继承 3. 接口使用案例 铁汁们好,今天我们学习抽象类和接口~ 1. 抽象类 1.1 抽象类的概念 什么是抽象类?在面向对象中,如果一…...

6. Gin集成redis

文章目录 一:连接Redis二:基本使用三:字符串四:列表五:哈希六:Set七:管道八、事务九:示例 代码地址:https://gitee.com/lymgoforIT/golang-trick/tree/master/14-go-redi…...

DxO PureRAW:赋予RAW图像生命,打造非凡视觉体验 mac/win版

DxO PureRAW 是一款专为RAW图像处理而设计的软件,旨在帮助摄影师充分利用RAW格式的优势,实现更加纯净、细腻的图像效果。该软件凭借其强大的功能和易于使用的界面,成为了RAW图像处理领域的佼佼者。 DxO PureRAW 软件获取 首先,Dx…...

【MySQL | 第四篇】区分SQL语句的书写和执行顺序

文章目录 4.区分SQL语句的书写和执行顺序4.1书写顺序4.2执行顺序4.3总结4.4扩充&#xff1a;辨别having与where的异同&#xff1f;4.5聚合查询 4.区分SQL语句的书写和执行顺序 注意&#xff1a;SQL 语句的书写顺序与执行顺序不是一致的 4.1书写顺序 SELECT <字段名> …...

服务器又被挖矿记录

写在前面 23年11月的时候我写过一篇记录服务器被挖矿的情况&#xff0c;点我查看。当时是在桌面看到了bash进程CPU占用异常发现了服务器被挖矿。 而过了几个月没想到又被攻击&#xff0c;这次比上次攻击手段要更高明点&#xff0c;在这记录下吧。 发现过程 服务器用的是4090…...

嵌入式学习day34 网络

TCP包头: 1.序号:发送端发送数据包的编号 2.确认号:已经确认接收到的数据的编号(只有当ACK为1时,确认号才有用) TCP为什么安全可靠: 1.在通信前建立三次握手连接 SYN SYNACK ACK 2.在通信过程中通过序列号和确认号保障数据传输的完整性 本次发送序列号:上次…...

欧科云链:角力Web3.0,香港如何为合规设线?

在香港拥抱Web3.0的过程中,以欧科云链为代表的合规科技企业将凸显更大重要性。 ——据香港商报网报道 据香港明报、商报等媒体报道&#xff0c;港区全国政协兼香港选委界立法会议员吴杰庄在日前召开的全国两会上提出在大湾区建设国际中小企业创新Web3融资平台等提案&#xff0…...

Android SDK2 (实操三个小目标)

书接上回&#xff1a;Android SDK 1&#xff08;概览&#xff09;-CSDN博客 今天讲讲三个实际练手内容&#xff0c;用的是瑞星微的sdk。 1 实操编译Android.bp 首先还是感叹下&#xff0c;现在的系统真的越搞越复杂&#xff0c;最早只有gcc&#xff0c;后面多了make&#xf…...

数字编码与字符编码:解锁编程世界的基石

在计算机的世界里&#xff0c;一切信息都是以数字的形式存在。但是&#xff0c;你有没有想过&#xff0c;我们是如何在这个由0和1构成的数字世界中表示复杂的信息&#xff0c;如文本、图像和声音的呢&#xff1f;本篇文章将带你深入探索数字编码与字符编码的奥秘&#xff0c;它…...

C语言-写一个简单的Web服务器(一)

基于TCP的web服务器 概述 C语言可以干大事&#xff0c;我们基于C语言可以完成一个简易的Web服务器。当你能够自行完成web服务器&#xff0c;你会对C语言有更深入的理解。对于网络编程&#xff0c;字符串的使用&#xff0c;文件使用等等都会有很大的提高。 关于网络的TCP协议在…...

MySQL底层原理

1. 请解释MySQL的逻辑架构和物理架构。 MySQL的逻辑架构和物理架构涉及到多个层面&#xff0c;包括网络连接、服务处理、存储引擎以及数据存储等部分。具体如下&#xff1a; 逻辑架构&#xff1a; 连接层&#xff08;Connection Layer&#xff09;&#xff1a;客户端通过TCP…...

复盘-word

word-大学生网络创业交流会 设置段落&#xff0c;段后行距才有分 word-选中左边几行字进行操作 按住alt键进行选中 word复制excel随excel改变&#xff08;选择性粘贴&#xff09; 页边距为普通页边距定义 ##### word 在内容控件里面填文字&#xff08;调属性&#xff09…...

Vue中的组件:构建现代Web应用的基石

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

【从部署服务器到安装autodock vina】

注意&#xff1a;服务器 linux系统选用ubuntu 登录系统&#xff0c;如果没有图形化见面可以先安装图形化界面 可以参考该视频 --> linux安装图形化界面 非阿里云ubuntu 依次执行以下命令 sudo apt-get update sudo apt-get install gnome sudo reboot阿里云ubuntu 需多执…...

如何使用ArcGIS Pro进行坡度分析

坡度分析是地理信息系统中一种常见的空间分析方法&#xff0c;用于计算地表或地形的坡度&#xff0c;这里为大家介绍一下如何使用ArcGIS Pro进行坡度分析&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的DEM数据&#xff0c;除了DEM数据&…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...