【Linux】Linux的权限_2 + Linux环境基础开发工具_1

文章目录

  • 三、权限
    • 3. Linux权限管理
      • 修改文件的拥有者和所属组
    • 4. 文件的类型
    • 5. 权限掩码
  • 四、Linux环境基础开发工具
    • 1. yum
      • yum 工具的使用
  • 未完待续


三、权限

3. Linux权限管理

修改文件的拥有者和所属组

在上一节我们讲到如何更改文件的访问权限,那我们需要更改文件的拥有者和所属组,应该怎么做?

chown 命令可以更改文件的拥有者,但是需要 root权限
chgrp 命令可以更改文件的所属组,也需要 root权限

在这里插入图片描述
在这里插入图片描述

4. 文件的类型

Linux的文件类型不通过后缀区分!(不代表Linux不使用后缀)
文件属性的前十个字符里,后9个字符代表文件的访问者权限,而第一个字符则代表文件的类型。
在这里插入图片描述

-:普通文件(文本、源代码、图片、视频、库、可执行等)
d:目录文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如键盘,显示器等串口设备)
s:套接口文件

由上可知:Linux下一切皆文件
知识点:由于Linux不通过后缀识别文件类型,所以我们的文件名后缀就可以随便取了吗?当然不是!Linux不通过后缀识别文件类型,不代表Linux之上的工具(比如 gcc 编译工具)不通过后缀识别文件类型。使用 gcc 是必然不可能编译 .txt 文件的。所以 虽然Linux不通过文件后缀识别文件类型,但是我们依旧推荐使用通过文件后缀区分文件 。因为工具需要,人也需要。
我们可以通过 file 指令来查看文件类型。
在这里插入图片描述

5. 权限掩码

我们想要进入一个目录,需要什么权限?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
root 不受以上权限的限制
在这里插入图片描述
为什么我们创建的普通文件的默认权限不是777,而是664;为什么我们创建的目录文件的默认权限不是777,而是775;这涉及到了 权限掩码 (umask)。每个文件的创建,默认的权限是 起始权限 中,去除权限掩码中出现的权限 。(起始权限 & (~umask)= 最终权限(默认))
我们可以使用 umask 来查看我们机器的权限掩码。
在这里插入图片描述
0002 就是 002 ,转换成权限二进制就是 000 000 010 。注意(大部分普通文件都不具有可执行的功能,所以 普通文件的起始权限是666 ,而 目录文件的起始权限是777 )。666 即是 110 110 110 ,去除权限掩码值可得到 110 110 100 ,即 664 ,而 777 去除权限掩码则可得到 775
umask 指令可以查看权限掩码,也可以更改权限掩码。
在这里插入图片描述
知识点:一个文件能否被删除,并不取决于文件本身,取决于文件所在的目录,拥有者是否具有 w 权限
但是如果新建了一个共享目录,两个 other 想在里面交流,所以这个共享目录的 other 必须具有 w 权限,但是这样容易被其他陌生人任意删除里面的文件,怎么办?Linux于是给 other 新增了一个位:粘滞位 t
在这里插入图片描述
那么这个粘滞位 t 具有什么意义?粘滞位就是:在原本 x 的权限下,进一步对目录的权限进行特殊限定:该目录里面的文件,只有root和拥有者有权利进行删除,其他人一概不能删除

带有粘滞位的目录想要删除里面的文件:
超级管理员(root)可以删除 。
该目录的所有者可以删除 。
要删除的文件的所有者可以删除。

四、Linux环境基础开发工具

1. yum

Linux中我们也要进行工具/指令/程序的安装/检查/卸载等,都需要 yum 的软件。yum是我们Linux预装的一个指令,可以搜索、下载、安装对应的软件,就相当于Linux的应用商店。

yum 工具的使用

我们可以下载一个 lrzsz 的工具,它可以实现我们Windous机器和Linux机器通过XShell进行传输文件。rz 命令可以Windows传Linux,sz 命令可以Linux传Windows。Windows传Linux也可以直接拖拽。
yum list 可以显示所有可以下载的软件包。
在这里插入图片描述
install 就是下载并安装的意思。
在这里插入图片描述
remove 就是卸载的意思。-y 选项可以加在 install ,也可以加在 remove ,意思是后面的一切不再询问,全部同意。
在这里插入图片描述

注意:yum 下载安装或删除需要 root 权限

一个好玩的工具:sl
yum install -y sl 需要root权限,或者 sudo yum install -y sl 进行提权。
在这里插入图片描述
界面会跑出一个火车。

如果上面的 sl 工具没有找到,需要安装扩展 yum 源:yum install -y epel-release


未完待续

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

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

相关文章

删除最后一个字符 js vue 前端

substring()、slice()、substr() let str ;let str1 "abcdef"; str str1.substring(0, str1.length - 1);let str2 "abcdef"; str str2.slice(0, str2.length - 1);let str3 "abcdef"; str str3.substr(0, str3.length - 1); 官方想废弃…

光伏智慧化运营解决方案的应用和价值

在社会对新能源需求的不断扩大,光伏已经成为了可再生能源的重要组成部分,随着光伏电站数量和规模的不断扩大,相关企业和用户都就开始关注如何能够高效精准的进行电站管理,对此,鹧鸪云提出了光伏智慧化运营解决方案&…

【官方指南】3ds Max中纹理贴图问题及正确解决方案

在使用3ds Max进行设计和制作时,纹理贴图是一个非常重要的环节。然而,许多用户在使用过程中常会遇到各种纹理贴图问题。为此,Autodesk官方提供了一些有效的解决方案,可以解决90%的纹理贴图难题。这里小编都帮大家整理好了&#xf…

简化跨网文件传输摆渡过程,降低IT人员工作量

在当今数字化时代,IT企业面临着日益增长的数据交换需求。随着网络安全威胁的不断演变,网关隔离成为了保护企业内部网络不受外部威胁的重要手段。然而,隔离的同时,企业也需要在不同网络间安全、高效地传输文件,这就催生…

线性回归计算举例

使用正规方程计算(一元线性回归) import numpy as np import matplotlib.pyplot as plt # 转化成矩阵 X np.linspace(0, 10, num 30).reshape(-1, 1) # 斜率和截距,随机生成 w np.random.randint(1, 5, size 1) b np.random.randint(1,…

vue:动态表格操作栏操作显示隐藏控制

文章目录 动态数据格式子组件接收父组件传递过来的数据 整动态数据格式程 1.调用表格组件的父组件 <template> <Table :PropTableS"PropTableS" ></Table> </template>let PropTableS ref({keyS:{selection:{type:selection,width:50,},…

C++指针、数组越界异常、栈区、堆区,和静态区

文章目录 一、指针引用运算符(&)和引用运算符(*)二、数组越界异常三、C++的栈区、堆区,和静态区一、指针 C ++中指针能够直接操作计算机内存中的数据。 可以根据需要分配和取消分配内存中的任何空间。 指针变量是指向内存中另一个变量所指向的特定地址的变量。 声明一个…

使用 pyhttptest 进行 RESTful API 测试的最佳实践

现在&#xff0c;无论是开发还是使用服务&#xff0c;我们每个人都面临着 REST API 的挑战。同时&#xff0c;我们正处于微服务的流行时代&#xff0c;我们将业务逻辑拆分为多个独立的小服务。这些服务大多遵循 RESTful 原则&#xff0c;并使用 JSON 格式进行通信&#xff0c;因…

Qt项目使用pato mqtt C

一,下载pato mqtt C 源码 git 地址:https://github.com/eclipse/paho.mqtt.c.git git 地址可能下载不下来,提供我的gitee地址 gitee地址:https://gitee.com/chaojidahuaidan2021/paho.mqtt.c.git 二,编译共享库 clone下来后,将项目导入到Qt工程中,此时这是一个cmke工程…

三十一、openlayers官网示例Draw Features解析——在地图上自定义绘制点、线、多边形、圆形并获取图形数据

官网demo地址&#xff1a; Draw Features 先初始化地图&#xff0c;准备一个空的矢量图层&#xff0c;用于显示绘制的图形。 initLayers() {const raster new TileLayer({source: new XYZ({url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/…

Kubernetes和Docker对不同OS和CPU架构的适配关系

Docker Docker官网对操作系统和CPU架构的适配关系图 对于其他发行版本&#xff0c;Docker官方表示没有测试或验证在相应衍生发行版本上的安装&#xff0c;并建议针对例如Debian、Ubuntu等衍生发行版本上使用官方的对应版本。 Kubernetes X86-64 ARM64 Debian系 √ √ Re…

贪心算法[1]

首先用最最最经典的部分背包问题来引入贪心的思想。 由题意可知我们需要挑选出价值最大的物品放入背包&#xff0c;价值即单位价值。 我们需要计算出每一堆金币中单位价值。金币的属性涉及两个特征&#xff0c;重量和价值。 所以我们使用结构体。 上代码。 #include <i…

基于单张图片快速生成Metahuman数字人(模型贴图绑定)的工作流演示

基于单张图片快速生成Metahuman数字人&#xff08;模型贴图绑定&#xff09;的工作流演示 MetahumanModeler, 是我基于facebuilder以及metahuman的理解开发而成&#xff0c;插件可以基于单张图片生成metahuman拓扑结构的面部3d模型&#xff0c;同时生成对应的面部的贴图&#…

【debug】windows11安装WSL+Docker+本地部署cvcat

windows系统安装wsl虚拟机 首先观察是否已启用虚拟化&#xff1a; 在windows应用商店下载wsl 下载好后打开&#xff0c;创建用户名和密码&#xff0c;即可使用&#xff1a; 换源&#xff1a;ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirr…

leetcode231-Power of Two

题目 给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数 x 使得 n 2x &#xff0c;则认为 n 是 2 的幂次方。 示例 1&#xff1a; 输入&#xff1a;n 1 输出&#xff1…

在Spring中自定义事件及发布与监听

在Spring框架中&#xff0c;自定义事件及其发布与监听是一个涉及Spring事件机制的过程。Spring提供了一个基于观察者模式的事件发布和监听机制&#xff0c;允许在Spring容器中的组件之间进行松耦合的通信。以下是如何自定义事件以及如何发布和监听这些事件的步骤&#xff1a; …

LeetCode215数组中第K个最大元素

题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 解析 快速排序的思想&#xff…

代码随想录算法训练营第33天 | 1005.K次取反后最大化的数组和、134.加油站、135.分发糖果

代码随想录算法训练营第33天 | 1005.K次取反后最大化的数组和、134.加油站、135.分发糖果 自己看到题目的第一想法看完代码随想录之后的想法自己实现过程中遇到哪些困难今日收获&#xff0c;记录一下自己的学习时长 链接: 1005.K次取反后最大化的数组和 链接: 134. 加油站 链接…

C++:vector的介绍及使用

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 文章目录 前言 一、vector的介绍 二、vector的使用 2.1.构造和赋值重载&#xff08;Member functions&#xff09; 2.2 vector iterator 的使用 2.3 vector 空间增长问题 2.4 vector 增删查改 三 sort 四 v…

邦芒面试:面试礼仪细节大揭秘

在求职过程中&#xff0c;面试礼仪如同一面镜子&#xff0c;直接反映出求职者的专业素养和个人品质。它不仅能够为求职者加分&#xff0c;还能为面试官留下深刻且积极的印象。以下就是一份详尽的面试礼仪全攻略&#xff0c;助你一臂之力。 一、守时为先 守时是面试的第一步&am…