【Linux】Shell及Linux权限

Shell

Shell的定义

  • Shell最简单的定义是:命令行解释器。

  • Shell的主要任务:1. 将使用者的命令翻译给核心进行处理。2.将核心的处理结果翻译给使用者

为什么要有Shell?

  • 使用者和内核的关系就相当于两个完全陌生的外国人之间的关系,他们要进行交流必须要有一个翻译,这个翻译便是Shell,否则用户看不懂内核的处理结果,内核看不懂用户的操作

  • 我们使用Windows的时候主要是通过Windows的GUI来进行对Windows的操作,我们能够通过点击完成对Windows的操作(如打开一个游戏我们只需要双击它),GUI对Windows的作用类似于Shell对Linux,不同的是GUI是将我们的动作翻译给内核;而Shell是将我们的命令翻译给内核

Linux的权限

Linux中权限的概念

  • 在Linux眼里,用户分为两类:1. 普通用户。2.超级用户(root)

两种用户身份转换的命令

  • 命令:su【用户名】

  • 从root用户切换成普通用户user:su user

  • 从普通用户切换成root:su root

Linux的权限管理

  • 在Linux中一切皆文件,所以对Linux的权限管理便也是对文件进行管理。管理什么呢?管的是不同身份的人对文件的操作权限

对使用者身份分类

  • 文件和文件目录的所有者:u——User

  • 文件和文件目录的所有者所在组的用户:g——Group

  • 其他用户:o——Other

  • 举个栗子:对于一辆车,你本人是它的所有者,你的家人是你所在组的用户,周围的邻居便是其他人。

文件类型和访问权限

  • 由图可知,文件前面有很多字符(红色方框),这些字符意思是什么呢?

  • 这其实就是文件的类型和访问权限,概念图如下

  • 红框后面的字符是什么意思呢?分别是连接数、所属用户、所属用户组、文件大小、文件最新修改日期、文件名

文件类型
  • d:文件夹

  • -:普通文件

  • l:软连接(类似于Windows的快捷方式)

  • b:块设备文件(如:硬盘光驱)

  • p:管道文件

  • c:字符设备文件(如屏幕等串口设备)

  • s:套接口文件

  • Linux中不依靠文件后缀来区分文件类型,但不代表不用后缀,一方面是因为Linux上的软件会依靠后缀来判断文件类型,另一方面是给人看的。

基本权限
  • 读(r):对于文件来说,具有读取文件的权限;对于目录来说也具有浏览该目录信息的权限

  • 写(w):对于文件来说,具有修改文件内容的权限;对于目录来说具有删除、移动目录内文件的权限

  • 执行(x):对于文件来说,具有执行文件的权限;对于目录来说,具有进入目录的权限

  • -:表示目录不具有该项权限

文件权限值的表示方法

  • 三个二进制位中,第一个代表着读权限、第二个代表着写权限、第三个代表着可执行权限,所以其8进制数值表示就是将三个二进制位转成八进制数字QWQ

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

设置文件访问权限的命令
  • chmod:chmod [参数] 权限 文件名

  • 常用选项:R——递归修改目录文件的权限(只有文件的拥有者和root才有资格改变文件的权限)

chmod命令权限值的格式
  • +:向权限范围增加权限代号所表示的权限

  • -:向权限范围取消权限代号所表示的权限

  • =:向权限范围赋予权限代号所表示的权限

用户符号
  • u: 拥有者

  • g:拥有着同组

  • o:其他用户

  • a:所有用户

实例
  • 第一种方法:使用用户符号+(操作)+权限符号+文件名

  • 第二种方法:使用八进制数字+文件名

修改文件的拥有者
  • chown:chown 【参数】 用户名 文件名

修改文件或目录的所属组
  • chgrp【参数】用户组名 文件名

  • 常用选项:-R递归修改文件或目录的所属组

查看和修改文件掩码
  • umask:umask 权限值

  • 新建文件夹默认权限=0666

  • 新建目录默认权限=0777

  • 实际权限=起始权限&(~umask)

  • 超级用户的默认权限掩码是0011,普通用户的是0002

file指令
  • 功能说明:辨识文件类型

  • file:file【选项】文件或目录

  • 常用选项

  • -c:详细显示指令执行过程,便于排错或分析程序执行的的情形

  • -z:尝试去解读压缩文件的内容。

目录的权限

  • 可执行权限:如果目录没有可执行权限,则无法进入到目录当中。

  • 可读权限:如果目录没有可读权限,则无法使用ls等明年来查看目录中的文件内容。

  • 可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件。 但这样会导致一个问题,那就是只要用户具有了目录的写权限,就可以在目录中删除和创建文件,而不论这个用户是否有这个文件的写权限。为了解决这个问题,Linux引入了粘滞位的概念

粘滞位
  • 使用chmod+t来给目录设置

  • 被设置成粘滞位的目录只能有三种用户删除:1.超级管理员(root)2.该目录的所有者3.该文件的所有者

关于目录权限的总结
  • 目录的可执行权限表示你是否可以进入该目录(即使你有目录的读权限,也无法看到目录中的内容)

  • 有可执行权限却没有读权限,此时你可以进入目录,但无法使用ls等命令读取目录下的文档

总结

  • 介绍了shell的定义合作用

  • 介绍了Linux中权限的概念及其作用

  • 介绍了权限管理的相关命令的使用

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

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

相关文章

Linux:线程互斥与同步

目录 线程互斥 锁的初始化 加锁 解锁 锁的初始化 锁的原理 死锁 线程同步 方案一:条件变量 条件变量初始化 等待 唤醒 条件变量的代码示例 基于阻塞队列的生产消费模型 方案二:POSIX信号量 初始化信号量: 销毁信号量 等待信…

中国大学生计算机设计大赛--智慧物流挑战赛基础

文章目录 一、Ubuntu基础1.1 基本操作1.2 文本编辑 二、ROS基础介绍2.1 概念与特点2.2 基本结构2.3 创建工程2.4 节点和节点管理器2.5 启动文件 三、ROS通信机制3.1 话题3.2 服务3.3 动作3.4 参数服务器 四、ROS可视化工具4.1 rviz4.2 rqt4.3 tf 五、Python实现简单的ROS节点程…

01-分析同步通讯/异步通讯的特点及其应用

同步通讯/异步通讯 微服务间通讯有同步和异步两种方式 同步通讯: 类似打电话场景需要实时响应(时效性强可以立即得到结果方便使用),而且通话期间不能响应其他的电话(不支持多线操作)异步通讯: 类似发邮件场景不需要马上回复并且可以多线操作(适合高并发场景)但是时效性弱响应…

MQ高可用相关设置

文章目录 前言MQ如何保证消息不丢失RabbitMQRocketMQKafkaMQ MQ如何保证顺序消息RabbitMQRocketMQKafka MQ刷盘机制/集群同步RabbitMQRocketMQKafka 广播消息&集群消息RabbitMQRocketMQ MQ集群架构RabbitMQRocketMQKafka 消息重试RabbitMQRockeMqKafka 死信队列RocketMQKaf…

Claude3横空出世:颠覆GPT-4,Anthropic与亚马逊云科技共启AI新时代

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

车载电子电器架构 —— 汽车电子电气系统分解

车载电子电器架构 —— 汽车电子电气系统分解 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何…

【操作系统概念】第14章:系统保护

文章目录 0. 前言14.1 保护目标14.2 保护原则14.3 保护域14.3.1 域结构14.3.2 实例:UNIX14.3.3 实例:MUTICS 14.4 访问矩阵14.5 访问矩阵的实现14.5.1 全局表14.5.2 对象的访问列表14.5.3 域的能力(权限)列表14.5.4 锁-钥匙机制*14.5.5 比较* 14.6 访问控…

Github 2024-03-10php开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-10统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目10Blade项目1Laravel:表达力和优雅的 Web 应用程序框架 创建周期:4631 天开发语言:PHP, BladeStar数量:75969 个Fork数量:24281 次…

Vue脚手架

Vue脚手架 学习目标: 理解Node.js基本使用方法理解包资源管理器NPM的使用理解webpack的作用理解 vue-cli 脚手架 (重点)Element-UI 组件库 1.vue的格式:new Vue({//作用的视图el:"id选择器",//vue中的数据/*data:{key:value,key:value,...}…

Java 基于微信小程序的快递柜小程序

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

devops-Jenkins【内网环境部署及插件安装】

1、准备工作 外网Linux机器一台,内网Linux机器一台。硬件环境要求:至少1GB的可用内存空间,至少50GB的可用硬盘空间。软件环境需求:需要安装好Java8,Java的运行环境JRE1.8或者Java的开发工具包JDK1.8都可以。 2、外网安…

结构指针的使用

结构指针的使用 指针类型变量: 指针类型,是变量类型的一种,它是专门用来存储变量的地址的。 例如 int *p; 表示p是一个指针变量,它用来存储某个整型变量的地址。 int a5; int *p&a; 这样,就将整型变量a的地…

体系班第十三节

1判断完全二叉树递归做法 有四种情况&#xff1a;1 左树完全&#xff0c;右数满&#xff0c;且左高为右高加一 2左满 &#xff0c;右满&#xff0c;左高为右高加一 3左满&#xff0c;右完全&#xff0c;左右高相等 4左右均满且高相等 #include<iostream> #include&l…

转移表回调函数实现

回调函数实现 计算器的模拟&#xff08;函数指针数组的使用&#xff09;&#xff08;回调函数&#xff09; 简化 冗余 老的代码的问题就是 冗余 写死 不能完成不同的任务 函数调用的时候只需要知道地址就可以 calc计算器 这里也称之为转移表 #define _CRT_SECURE_NO_WAR…

出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题

一、出错情况&#xff1a; 今天继续推送整理的知识点的时候&#xff0c;出现了一个报错。“error: failed to push some refs to https://github.com/.git”&#xff0c;百思不得其解&#xff0c;之前推送的时候都可以轻松推送成功&#xff0c;如今却说本地库与远程库不一致。…

腾讯云轻量应用服务器“月流量”什么意思?用完了怎么办?

腾讯云轻量应用服务器“月流量”什么意思&#xff1f;就是限制月流量的意思。腾讯云轻量服务器流量用完了怎么办&#xff1f;超额部分的流量另外支付流量费&#xff0c;流量价格为0.8元/GB&#xff0c;会自动扣你的腾讯云余额&#xff0c;如果你的腾讯云账号余额不足&#xff0…

Git win与linux换行符转换的问题

转载&#xff1a;warning: in the working copy of ‘package-lock.json‘, LF will be replaced by CRLF the next time Git_warning: in the working copy of package.json, lf-CSDN博客 warning: in the working copy of ‘package-lock.json‘, LF will be replaced by CRL…

ModStartBlog 稳定版 v9.0.0

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。系统完全开源&#xff0c;基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场&#xff0c;后台一键快速安装 会…

C++ Function Templates (函数模板)

C Function Templates [函数模板] 1. Templates and Generic Programming (模板与泛型编程)2. Defining a Function Templates (定义函数模板)2.1. Instantiating a Function Template (实例化函数模板)2.2. Template Type Parameters (模板类型参数)2.3. Nontype Template Par…

【实战项目】Boost搜索引擎项目

目录 1. 项目的相关背景 2. 搜索引擎的相关宏观原理 3. 搜索引擎技术栈和项目环境 4. 正排索引 vs 倒排索引 - 搜索引擎具体原理 4.1 正排索引 4.2 目标文档进行分词 4.3 倒排索引 4.4 模拟一次查找的过程&#xff1a; 5. 编写数据去标签与数据清洗的模块 Parser 5.1…