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下的基本权限学习后的整理和理解

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Storyboard动画、EventTrigger事件触发器

就是动画&#xff0c;要注意的就是EventTrigger中的SourceName就是想要实现这个功能的按钮 <StackPanel Orientation"Vertical"><Rectanglex:Name"rect"Width"200"Height"40"Fill"Pink" /><StackPanel Orie…

java之lombok

Lombok是一个实用的java类库&#xff0c;能通过注解的形式自动生成构造器&#xff0c; getter setter equsls hashcode tostring等方法 并且可以自动化生成日志变量&#xff0c;简化java开发&#xff0c;提高效率 作用 导入 <dependency><groupId>org.projectlomb…

Servlet API 详细讲解

Servlet API 详细讲解 API就是一组类和方法的集合&#xff0c;servlet 中的 类是非常多的&#xff0c;咱们只需要学习 3个类即可。 HttpServletHttpServletRequest&#xff08;服务器如何读取客户端响应&#xff09;HttpServletResponse&#xff08;服务器如何把响应返回给客…

C++ 中的头文件和源文件

#include<>一般用于包含系统头文件&#xff0c;诸如stdlib.h、stdio.h、iostream等&#xff1b; 类库目录下查找失败&#xff0c;编译器会终止查找&#xff0c;直接报错&#xff1a;No such file or directory. #include""一般用于包含自定义头文件&#xff…

Ubuntu18.04 下使用 Pybind11实现 C++ 调用 Python 函数和类的示例

Pybind11 是一个轻量级的库&#xff0c;它提供了在 C 中无缝集成 Python 代码的能力。使用 Pybind11&#xff0c;你可以很容易地从 C 调用 Python 代码&#xff0c;反之亦然。下面我将通过一个简单的例子来展示如何在 Ubuntu 系统上使用 Pybind11 从 C 调用 Python 接口。 安装…

css--浮动

一. 浮动的简介 在最初&#xff0c;浮动是用来实现文字环绕图片效果的&#xff0c;现在浮动是主流的页面布局方式之一。 二. 元素浮动后的特点 &#x1f922;脱离文档流。&#x1f60a;不管浮动前是什么元素&#xff0c;浮动后&#xff1a;默认宽与高都是被内容撑开&#xff0…

数据结构系列-链表实现

&#x1f308;个人主页: 会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” #define _CRT_SECURE_NO_WARNINGS #include"List.h" void ListTest01() {LTNode* plist LTInit();LTPushFront(plist, 1);LTPushFront(plist, 2);LTPushFront(plist, 3);…

VBA_NZ系列工具NZ02:VBA读取PDF使用说明

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

Ubuntu 安装谷歌拼音输入法

一、Fcitx 安装 在Ubuntu 下&#xff0c;谷歌拼音输入法是基于Fcitx输入法的。所以&#xff0c;首先需要安装Fcitx。一般来说&#xff0c;Ubuntu最新版中都默认安装了Fcitx&#xff0c;但是为了确保一下&#xff0c;我们可以在系统终端中运行如下命令&#xff1a; sudo apt ins…

第15章——西瓜书规则学习

1.序贯覆盖 序贯覆盖是一种在规则学习中常用的策略&#xff0c;它通过逐步构建规则集来覆盖训练数据中的样本。该策略采用迭代的方式&#xff0c;每次从训练数据中选择一部分未被覆盖的样本&#xff0c;学习一条能够覆盖这些样本的规则&#xff0c;然后将这条规则加入到规则集中…

ArmSoM规划开发基于RK3576的开发套件

ArmSoM正计划推出一款新的产品&#xff0c;这款产品将采用强大的RK3576芯片。 本文将为您介绍我们的新产品搭载的RK3576性能参数&#xff0c;以及它如何为您提供卓越的性能和功能。 RK3576处理器 RK3576处理器是一款强大的处理器&#xff0c;具备出色的性能和多样化的功能&a…

Web Worker:JavaScript的后台任务解决方案

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

eFuse在汽车域控制器架构中如何提供更智能的保护?

汽车应用的电气化和自动化趋势推动了域控制器的兴起&#xff0c;用以减轻线缆重量并将车辆架构简化为多个局部化的电源中心。设计人员可以利用这种新兴架构&#xff0c;将传统保险丝和机械继电器替换为更紧凑的电子保险丝 (eFuse)&#xff0c;以提供更先进的保护功能&#xff0…

UE5 局域网联机,寻找会话失败。

目录 参考资料&#xff1a; 尝试解决办法 1.1在【项目名.Build.cs】脚本中添加该行&#xff0c;添加后关闭编辑器&#xff0c;重新生成解决方案。​编辑 2.检查是否在同一个C类子网 参考资料&#xff1a; 1.Cant find session in LAN - Programming & Scripting / Mul…

【Claude3】利用Python中完成对Bedrock上的Claude的API调用

文章目录 1. 前期准备工作2. 安装和配置AWS CLI v23. 使用AWS configure命令配置AWS凭据4. 安装访问Bedrock的SDK5. 访问Amazon Bedrock UI6. 订阅Bedrock上的Claude模型7. 通过CLI命令列出所有可用的Claude模型8. 向Claude 3 Sonnet on Bedrock生成文本9. 参考链接 1. 前期准备…

Building Systems with the ChatGPT API

Building Systems with the ChatGPT API 本文是 https://www.deeplearning.ai/short-courses/building-systems-with-chatgpt/ 这门课程的学习笔记。 文章目录 Building Systems with the ChatGPT APIWhat you’ll learn in this course Language Models, the Chat Format and…

MySQL中常用的操作语句已汇总

目录 一、库语句 1.查询现有数据库 2.创建数据库 3.选中数据库 ​编辑 4.删除数据库 二、初阶表操作 1.查看数据库现有表 2.查看表结构 3.创建表 4.删除表 5.全列查询 6.删除表2 7.修改操作 三、插入操作 1.全列插入 2.指定列插入 3.一次插入多组数据 4.插入…

【AI视野·今日Robot 机器人论文速览 第八十二期】Tue, 5 Mar 2024

AI视野今日CS.Robotics 机器人学论文速览 Tue, 5 Mar 2024 Totally 63 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;双臂机器人拧瓶盖, (from 伯克利) website: https://toruowo.github.io/bimanual-twist &#x1f4da;水下抓取器, (from …

交易平台开发:构建安全/高效/用户友好的在线交易生态圈

在数字化浪潮的推动下&#xff0c;农产品现货大宗商品撮合交易平台已成为连接全球买家与卖家的核心枢纽。随着电子商务的飞速发展&#xff0c;一个安全、高效、用户友好的交易平台对于促进交易、提升用户体验和增加用户黏性至关重要。本文将深入探讨交易平台开发的关键要素&…

Unity3d C#实现文件(json、txt、xml等)加密、解密和加载(信息脱敏)功能实现(含源码工程)

前言 在Unity3d工程中经常有需要将一些文件放到本地项目中&#xff0c;诸如json、txt、csv和xml等文件需要放到StreamingAssets和Resources文件夹目录下&#xff0c;在程序发布后这些文件基本是对用户可见的状态&#xff0c;造成信息泄露&#xff0c;甚至有不法分子会利用这些…