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

Linux——权限

目录

1.Shell运行原理——外壳程序

2.权限

2.1对人操作

2.2对角色和文件操作

3.常见权限问题


1.Shell运行原理——外壳程序

首先我们要明确一个概念,我们不是直接访问操作系统。为什么?

对于Windows我们是使用GUI进行操作,Shell对于Linux是指令操作。

        1.'人'不善于使用操作系统

        2.如果让人直接访问操作系统

                a.操作成本特别高        b.人会犯错,会带来不安全因素

        所以,系统设计者不会让人直接操作 操作系统。

那么我是如何访问操作系统的呢?那么 图形化界面&&指令操作究竟是什么东西?

        他们是操作系统提供的外壳程序。

外壳程序的意义:

  •  是用户和操作系统交互的软件层
  • 可以在一定程度,起到保护操作系统的作用

Shell:命令解释器

  • 将使用者的命令翻译给核心(kernel)处理
  • 同时,将核心的处理结果翻译给使用者。

——查看自己的外壳程序:

echo $BASH

2.权限

2.1对人操作

Linux下有两种用户:超级用户(root)、普通用户

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

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

root< --切换-- >普通用户,潜台词就是在切换我当前的权限

用户如何进行身份互换:

  • 普通用户切换root用户

$su -        //用户重新登录,路径变

Password:root密码

或者

$su        //临时登录,路径不变

Password:root密码

 

  • root切换普通用户

$su 用户名

  • 普通用户切换另一个用户

$su 另一个用户

Password:另一个用户的密码

  •  回退上个身份

logout或者crtl+d

2.2对角色和文件操作

权限是什么?

针对人的,事物的基本属性决定权限相关的概念——>文件权限——>一件事情是否允许被你'做'

权限的核心:人+事物属性

 

 ll下显示的第一列的第一个字符,表明该文件的文件类型

d:目录

-:普通文件

p:管道文件

b:块设备

c:字符设备

l:链接文件

.....

Linux下,不以文件后缀来区分文件类型


人:

  • 拥有者:文件属于谁
  • 所属组:文件属于哪一个组
  • other:不属于上面两种的任何一个,就是other

如何表述一个文件的权限呢?

从3个身份出发(拥有者,所属组,other),r-可读,w-可写,x-可执行

上图文件的表述就是:拥有者可读可写可执行,所属组可读可写可执行,other可读可执行的目录文件。

如何操作权限?

1.upo+-

  • 修改文件拥有者的权限

chmod u+r/w/x filename                 #添加权限

chmod u-r/w/x filename                  #删除权限

  •  修改文件所属组的权限

chmod g+r/w/x filename                 #添加权限

chmod g-r/w/x filename                  #删除权限

  • 修改other的权限 

chmod o+r/w/x filename                 #添加权限

chmod o-r/w/x filename                  #删除权限

 

  • 修改所有身份的权限 

chmod a+r/w/x filename                 #添加权限

chmod a-r/w/x filename                  #删除权限

 

2.八进制修改

3.修改文件所属用户/组

修改文件所属用户/组,需要进入root用户强制修改。或者在chown/chgrp命令前加sudo,以root的权限级别来执行。

如果用户想执行sudo,提升权限,需要该用户在信任列表里面,才可以执行sudo,添加用户到信任列表 是需要root身份的!

  • 修改文件拥有者

root下:

chown 拥有者 filename

普通用户下:

sudo chown 拥有者 filename

  • 修改文件所属组

 root下:

chgrp 所属组 filename

普通用户下:

sudo chgrp 所属组 filename

 

3.常见权限问题

1.目录权限

进入一个目录,需要什么权限?

需要X权限

R权限:是否允许查看目录下文件

W权限:是否允许在目录下创建文件或目录

我们来验证一下:

2.umask

为何我们创建一个目录或者文件,默认权限是你所看到的样子?

linux默认:

一个目录被创建,起始权限是从:777

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

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

凡是在umask中出现的权限,都不应该在最终权限中出现!  

3.粘滞位

是否能删除一个文件,取决于是否拥有当前目录的写权限

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

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

——>出现粘滞位(只能给目录设置)

 chmod +t  dir_name        #添加粘滞位

粘滞位一般是谁设置,谁才能取消(root除外)

相关文章:

Linux——权限

目录 1.Shell运行原理——外壳程序 2.权限 2.1对人操作 2.2对角色和文件操作 3.常见权限问题 1.Shell运行原理——外壳程序 首先我们要明确一个概念&#xff0c;我们不是直接访问操作系统。为什么&#xff1f; 对于Windows我们是使用GUI进行操作&#xff0c;Shell对于Li…...

[英语单词] components;

*[kәm’pәunәnt] n. 元件, 组件, 成分 a. 组成的, 构成的 【计】 组件 【化】 组分 【医】 成分; 组元(神经元组) 有很多地方使用这个单词&#xff0c;在组成整体时&#xff0c;作为单位一内的占有比率。那为什么不用portion&#xff1f; 这样每一个组成部分都是一个compon…...

【观察者模式】 ——每天一点小知识

&#x1f4a7; 观察者模式 \color{#FF1493}{观察者模式} 观察者模式&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f984; 个人主页——微风撞见云的博客&#x1f390; &#x1f433; 《数据结构与算法》专栏的文章图文并茂&#x1f995;…...

el-ment ui 表格组件table实现列的动态插入功能

在实际需求中我们经常遇到各种奇葩的需求&#xff0c;不足为奇。每个项目的需求各不相同&#xff0c;实现功能的思路大致是一样的。 本文来具体介绍怎么实现table表格动态插入几列。 首先实现思路有2种&#xff0c; 1. 插入的位置如果是已知的&#xff0c;我知道在哪个标题的…...

gitLab修改密码后,sourceTree如何修改密码

修改gitLab密码后&#xff0c;在sourceTree提交或者更新代码会报&#xff1a;fatal: Authentication failed for~ 简单粗暴的方法&#xff1a; 到C:\Users\用户\AppData\Local\Atlassian\SourceTree&#xff0c;找到passwd文件&#xff0c;并删除&#xff1b; 重启sourceTre…...

sop是什么意思

标准作业程序 执行复杂的日常事务所设计的内部程序 内容 所谓SOP&#xff0c;是 Standard Operating Procedure三个单词中首字母的大写 &#xff0c;即标准作业程序&#xff0c;指将某一事件的标准操作步骤和要求以统一的格式描述出来&#xff0c;用于指导和规范日常的工作。…...

【C#】Kestrel和IIS服务器下的同步与异步配置

最近在回看自己写的代码时&#xff0c;发现服务配置里最开头写了两段代码&#xff0c;第一感觉&#xff0c;这是啥功能&#xff0c;太久有点生疏了&#xff0c;经过一顿搜索和回顾&#xff0c;简单整理如下 目录 1、Kestrel服务器1.1、跨平台1.2、高性能1.3、可扩展性1.4、安全…...

GoLand导入redis的github包失败

GoLand导入redis依赖失败 网上有下载guryburd和gomodel的&#xff0c;这里按照官网文档安装依赖 以下命令在项目的根目录执行 初始化一个Go模块&#xff1a; go mod init github.com/my/repoTo install go-redis/v9:要安装go-redis/v9&#xff1a; go get github.com/redis/…...

Elasticsearch原理剖析

一、 Elasticsearch结构 Elasticsearch集群方案由EsMaster、EsClient和EsNode1、EsNode2、EsNode3、EsNode4、EsNode5、EsNode6、EsNode7、EsNode8、EsNode9进程组成&#xff0c;如下图所示&#xff0c;模块说明如表下所示。 说明如表&#xff1a; 名称说明ClientClient使用H…...

数据在内存中的存储1(C语言进阶)

数据在内存中的存储 1.数据类型介绍1.1类型的基本归类&#xff1a;整形家族浮点数家族构造类型指针类型空类型 2.整形在内存中的存储2.1 原码、反码、补码2.2 大小端介绍为什么有大端和小端&#xff1a; 我们今天来学习数据在内存中的存储 1.数据类型介绍 前面我们已经学习了基…...

Kubernetes API Server 中启用 pprof 接口

要在 Kubernetes API Server 中启用 pprof 接口&#xff0c;你需要在 API Server 的启动参数或配置文件中进行相应的配置。以下是一些常见的方法&#xff1a; 通过启动参数启用 pprof 接口&#xff1a;在运行 API Server 的命令中&#xff0c;添加 -runtime-configapi/alltrue …...

Docker 私有仓库 harbor 搭建

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…...

工厂方法模式

在开发组件的时候比如button、text等&#xff0c;需要对这些组件做比较多的初始化工作&#xff0c;比如初始化长度等。传统的开发方案如下&#xff1a; 图 传统开发方案UML 上面的方案组件创建及组件的其他业务操作耦合在一起&#xff0c;违背了单一职责原则&#xff1b;在客户…...

(CentOS 7)nvidia-smi:Failed to initialize NVML: Driver/library version mismatch

[CentOS 7]nvidia-smi:Failed to initialize NVML: Driver/library version mismatch 问题源头&#xff1a; nvidia-smi \text{nvidia-smi} nvidia-smi报错问题 CUDA \text{CUDA} CUDA安装时的问题 这里仅描述自身发现的一种情况&#xff0c;希望对大家有所帮助。 问题源头&…...

呼吸灯——FPGA

文章目录 前言一、呼吸灯是什么&#xff1f;1、介绍2、占空比调节示意图 二、系统设计1、系统框图2、RTL视图 三、源码四、效果五、总结六、参考资料 前言 环境&#xff1a; 1、Quartus18.0 2、vscode 3、板子型号&#xff1a;EP4CE6F17C8 要求&#xff1a; 将四个LED灯实现循环…...

群辉用户接入vocechat的方法(附开通GPT机器人)

群辉安装聊天服务器-加入chatgpt vocechat项目简单的使用介绍集成群辉帐号系统登陆vocechat 第二章接入chatgpt这是一个机器人的演示 这是个处于发展中的不错的项目吧&#xff0c;才感觉到好神奇。有意思。 vocechat项目简单的使用介绍 昨天的找群辉文章的时候看到了vocechat&…...

flutter js交互传参

加载网页的webView WebView(initialUrl:http://test/h5atui//#/mobileMaps?lng${CommonConfig.lng}&lat${CommonConfig.lat},javascriptMode: JavascriptMode.unrestricted,onWebViewCreated: (controller) {_webViewController controller;},onProgress: (process){set…...

重磅IntelliJ IDEA 2023.2 新版本即将发布,拥抱 AI

IntelliJ IDEA 近期连续发布多个EAP版本&#xff0c;官方在对用户体验不断优化的同时&#xff0c;也新增了一些不错的功能&#xff0c;尤其是人工智能助手补充&#xff0c;AI Assistant&#xff0c;相信在后续IDEA使用中&#xff0c;会对开发者工作效率带来不错的提升。 以下是…...

JavaWeb_SpringCloud微服务_Day1-eureka, ribbon, nacos

JavaWeb_SpringCloud微服务_Day1-eureka, ribbon, nacos 认识微服务微服务技术对比 分布式服务架构案例远程调用 eureka注册中心原理搭建EurekaServer服务注册服务发现 Ribbon负载均衡修改负载均衡饥饿加载 nacos注册中心快速入门eureka和nacos对比 来源 认识微服务 微服务技术…...

数据科学领域常用python库

pandas Pandas 的名称源自 “ panel data ”&#xff0c;这是一个计量经济学术语&#xff0c;用于表示多维结构化数据集和 “ Python 数据分析”。众所周知&#xff0c;清理和转换数据在数据分析中非常重要&#xff0c;Pandas 提供了丰富的数据结构和功能&#xff0c;使数据处…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...