Linux:权限

目录

一、shell运行原理

二、权限

1.权限的概念

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

三、常见的权限问题

1.目录权限

2.umsk(权限掩码)

3.粘滞位


一、shell运行原理

1.为什么我们不是直接访问操作系统?

  1. ”人“不善于直接使用操作系统
  2. 如果让人直接访问操作系统,a.操作成本特别高 b.人会犯错,有风险

        系统的设计者,不会让”人“直接操作 操作系统

2.我们是如何访问操作系统的?

--通过外壳程序

图形化界面&&指令操作是什么?

--操作系统提供的外壳程序

3.外壳程序的意义

  1. 是用户和操作系统交互的中间软件层(将使用者的命令翻译给核心(kernel)处理。
    同时,将核心的处理结果翻译给使用者)
  2. 可以在一定程度,起到保护操作系统作用

二、权限

1.权限的概念

权限:

针对人,事物的基本属性决定权限相关概念(能否完成一件事情)

权限的核心 = 人 + 事务属性(rwx)

对人操作

--Linux是一个多用户操作系统,Linux下可以存在多个用户

  • root:只用一个,具有Linux下的最高权限(一般不受权限约束)
  • 普通用户:可以有多个,要受权限的约束

--如何切换用户

root < -- 切换 -- > 普通用户 ,切换当前权限

  1. 切换到root su - 然后再输入密码(root) (普通用户和root密码尽量不同)
  2. 切换到普通用户: ctrl + D(退回)
  3. root切换到其它用户: su + 名字
  4. 普通用户切普通用户:su + 名字     然后输入该用户的密码

对角色和文件操作

--角色(人)

  1. 文件和文件目录的所有者:u---User
  2. 文件和文件目录的所有者所在的组的用户:g---Group
  3. 其它用户:o---Others 

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

文件类型:

  • d:目录
  • -:普通文件
  • p:管道文件
  • b:块设备
  • c:字符设备

基本权限

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

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

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

选项:

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

改权限

--1.ugo+-修改

改权限: chmod  u+x  myfile.txt           (拥有者)chmod u-x  myfile.txtchmod u+rwx  myfile.txt chmod  g+x  myfile.txt              (所属者)chmod  o+r  myfile.txt             (other)chmod  u-wx,g-x,o+r myfile.txt chmod  a+x  myfile.txt  (所有人)

相关概念:

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

--2.八进制修改

chmod  777 myfile.txt
(7的二进制:111,1:有权限    0:无权限)

 通过二进制的方式,给了拥有者,所属者,其它用户所有读写执行的权限

改人

--更改文件的所属者(需要提升权限)

--root下
chown 用户名 文件名(拥有者)
chgrp 用户名 文件名 (所属组)

这里可以看到所属者从root变为zy

 

补充:

sudo 指向命令后以root权限级别来执行

如果用户想执行sudo,需要将用户添加到信任列表里

三、常见的权限问题

1.目录权限

进入一个目录。需要什么权限?-------x (执行权限)

rw权限限制了用户能否查看和写(执行ls指令,touch/mkdir指令)

补充:权限只会被认证一次,若你是拥有者又是所属者,则只看拥有者权限

2.umsk(权限掩码)

Linux默认:

1.一个目录被创建,起始权限:777

2.一个普通文件被创建,起始权限:666

为什么创建一个目录或文件,默认权限是

d rwx rwx r-x

- rw- rw- r--

原因:要受到umaks过滤(凡是在umsk中出现的权限,都不应该在最终权限中出现

最终权限 = 起始权限&(~umask)

3.粘滞位

大家所有用户都在一个共同的路径下,对该目录具有读写执行权限

1.当多个用户共享一个目录,需要在该目录下进行,读写,创建文件

2.但是自己只能删除自己的,而不能删除别人的(w:可以互删,但不满足条件)

粘滞位解决上面情况: chmod +t 目录 即可

粘滞位只能给目录设置(谁设置,谁取消)

示例:

现在zy和tmp在同一路径下,都有rwx权限

tmp可以删除zy的文件:

为了防止这种情况发生,我们加上粘滞位,(root下) 

然后我们切回tmp,看看还能不能删除zy文件

由于粘滞位,这里不能互删

 

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

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

相关文章

【网络安全】防火墙知识点全面图解(三)

本系列文章包含&#xff1a; 【网络安全】防火墙知识点全面图解&#xff08;一&#xff09;【网络安全】防火墙知识点全面图解&#xff08;二&#xff09;【网络安全】防火墙知识点全面图解&#xff08;三&#xff09; 防火墙知识点全面图解&#xff08;三&#xff09; 39、什…

vscode 与 C++

序 具体流程的话&#xff0c;官方文档里都有的&#xff1a;C programming with Visual Studio Code 浏览器下载一个mingw64&#xff0c;解压&#xff0c;配置环境变量vscode里安装c相关的插件没了 第一步只看文字&#xff0c;可能有点抽象&#xff0c;相关视频&#xff1a; …

git介绍+集成到IDEA中+使用gitee

目录 git介绍 本地工作流程 IDEA集git 添加到暂存区 添加到本地仓库 gitee使用 添加到远程仓库 git介绍 git是一个开源的分布式版本控制工具&#xff0c;效率高。可以记录历史代码&#xff0c;多人代码共享 知识小点&#xff1a; 集中式版本控制&#xff1a;使用中央存…

RabbitMQ集群搭建和测试总结_亲测

RabbiMQ简介 RabbitMQ是用Erlang开发的&#xff0c;集群非常方便&#xff0c;因为Erlang天生就是一门分布式语言&#xff0c;但其本身并不支持负载均衡。 RabbitMQ模式 RabbitMQ模式大概分为以下三种: (1)单一模式。 (2)普通模式(默认的集群模式)。 (3)镜像模式(把需要的队列…

【力扣每日一题】2023.8.26 汇总区间

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个有序数组&#xff0c;让我们把数组内的元素汇总区间&#xff0c;也就是说有一串数字是连续的&#xff0c;比如是 1 2 3 4…

空时自适应处理用于机载雷达——元素空间空时自适应处理(Matla代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Spring Cloud Alibaba-Sentinel-Sentinel入门

1 什么是Sentinel Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。Sentinel 具有以下特征: 丰富的应用场景&#xff1a;Sentinel 承接了阿里…

使用Java开发Jmeter自定义取样器(Sampler)插件

文章目录 1、Jmeter自定义取样器扩展类2、SpringBoot服务器端http测试例子3、自定义取样器实现3.1、默认界面的AbstractJavaSamplerClient扩展实现3.2、自定义界面的AbstractSamplerGui扩展实现 3、自定义取样器运行效果3.1、AbstractJavaSamplerClient运行效果3.2、AbstractSa…

工厂生产作业流程合规检测

工厂生产作业流程合规检测系统通过yolov7网络模型算法&#xff0c;工厂生产作业流程合规检测对作业人员的操作行为进行全面监测&#xff0c;通过图像识别算法和数据分析&#xff0c;对人员的操作动作、工具使用、安全防护等方面进行检测和评估&#xff0c;能够实时监测工人的操…

9.2 互补功率放大电路

目前使用最广泛的是无输出变压器的功率放大电路&#xff08;OTL 电路&#xff09;和无输出电容的功率放大电路&#xff08;OCL 电路&#xff09;。 一、OCL 电路的组成及工作原理 为了消除图9.1.5所示的基本 OCL 电路所产生的交越失真&#xff0c;应当设置合适的静态工作点&a…

YOLOv5算法改进(7)— 添加SimAM注意力机制

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。SimAM&#xff08;Similarity-based Attention Mechanism&#xff09;是一种基于相似度的注意力机制&#xff0c;它的原理是通过计算查询向量与每个键向量之间的相似度&#xff0c;从而确定每个键向量对于查询向量的重要性…

开始MySQL之路——MySQL约束概述详解

MySQL约束 create table [if not exists] 表名(字段名1 类型[(宽度)] [约束条件] [comment 字段说明],字段名2 类型[(宽度)] [约束条件] [comment 字段说明],字段名3 类型[(宽度)] [约束条件] [comment 字段说明] )[表的一些设置]; 概念 约束英文&#xff1a;constraint 约束实…

vscode | 开发神器vscode自定义用户代码片段

目录 一、增加二、删除三、语法四、变量 一、增加 点击&#xff1a;左下角设置齿轮按钮——>用户代码片段 点击&#xff1a;新建全局代码片段文件 输入文件名 会出现如下界面 配置以下语句 "cls": {"scope": "javascript,typescript",…

Linux学习之Ubuntu 20.04在github下载源码安装Openresty 1.19.3.1

参考的博文&#xff1a;《在 Ubuntu 上使用源码安装 OpenResty》 《OpenResty 安装安装详解-Ubuntu》 《Linux学习之CentOS 7源码安装openresty》 https://openresty.org/en/download.html是官网下载网址&#xff0c;页面往下拉有下载的链接。 https://github.com/openresty…

研磨设计模式day09原型模式

目录 场景 代码实现 有何问题 解决方案 代码改造 模式讲解 原型与new 原型实例与克隆出来的实例 浅度克隆和深度克隆 原型模式的优缺点 思考 何时选用&#xff1f; 相关模式 场景 代码实现 定义订单接口 package com.zsp.bike.day08原型模式;/*** 订单的接口*…

06-Numpy基础-线性代数

线性代数&#xff08;如矩阵乘法、矩阵分解、行列式以及其他方阵数学等&#xff09;是任何数组库的重要组成部分。 NumPy提供了一个用于矩阵乘法的dot函数&#xff08;既是一个数组方法也是numpy命名空间中的一个函数&#xff09; x.dot(y)等价于np.dot(x, y) 符&#xff08;…

【C++设计模式】用简单工厂模式实现按汽车重量输出汽车类型

2023年8月24日&#xff0c;周四凌晨 #include<iostream>class CarType{ public:virtual std::string getType()0; };class MiniCar:public CarType{ public:std::string getType() override{return "小型车";}; };class MidSizeCar:public CarType{ public:std…

管家婆往来分析功能介绍

往来分析是企业管理的重要工具之一&#xff0c;主要用于监控和查询与往来单位的业务往来情况&#xff0c;包括进货金额、付款金额、销售金额、回款情况、此前应收应付、应收应付余额、应收应付限额及其超限余额等。通过往来分析&#xff0c;企业可以更好地了解和控制与往来单位…

mysql 默认的4个数据库 介绍

mysql 存储MySQL的用户账号和权限信息&#xff0c;一些存储过程、事件的定义信息 一些运行过程中产生的日志信息&#xff0c;一些帮助信息以及时区信息等 information_schema 存储Mysql服务器 维护的所有其它数据库的信息&#xff0c;比如有哪些表、哪些视图、哪些触发器、哪…

Spring 更简单的读取和存储对象

前言&#xff1a; &#x1f4d5;作者简介&#xff1a;热爱编程的小七&#xff0c;致力于C、Java、Python等多编程语言&#xff0c;热爱编程和长板的运动少年&#xff01; &#x1f4d8;相关专栏Java基础语法&#xff0c;JavaEE初阶&#xff0c;数据库&#xff0c;数据结构和算法…