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

Linux中的权限问题(二)

一、不受权限约束的root

按照文件的使用者进行匹配后,即使权限是“---”

root依旧可以正常进行读,写,运行

二、文件拥有者和所属组的更改方法以及限制

2.1chown:更改文件拥有者以及所属组

①可以单独修改文件拥有者

chown+[更改后的用户名]+[文件名]

回车

例如:

chown my_normal test.c

回车

 这样以后可以把test.c文件的拥有者改为my_normal

效果图:

②可以同时修改文件的拥有者和所属组

 chown+[更改后的拥有者用户名]:[更改后的所属组用户名]+[文件名]

回车

 效果图:

2.2chgrp:更改文件所属组

具体使用方式与chown完全一致,且由于chown可以修改所属组,所以chgrp并不常用

2.3只有root有权限更改文件拥有者和所有组

文件拥有者只能够更改文件自身的权限属性,但不能更改文件的拥有者和所有组

三、rwx权限对于目录的影响

3.1读权限对于目录的影响

不影响cd进入目录,但是无法ls查看目录

3.2写权限对于目录的影响

不影响cd进入目录,但无法在目录中进行新建,删除以及重命名等操作

3.3运行权限对于目录的影响

影响cd进入目录

四、权限掩码

4.1权限掩码存在的意义

当我们新键一个文件以及目录的时候

目录的权限是755

文件的权限是644

这是什么影响的呢?

 正是权限掩码

新建目录的起始权限是777

新建文件的起始权限是666

最终权限=起始权限&(~权限掩码) 

4.2权限掩码的查看方式以及格式

①查看方式:

umask

回车

效果图:

②格式: 

一共四位,其中后三位“022”是影响权限的 

4.3权限掩码的修改方式

umask+[修改后的后三位]

回车

效果图: 

4.4最终权限计算举例

例如此时权限掩码是0002

新建目录起始是777

   111 111 111

& 111 111 101

结果为 111 111 101

即775-> rwx rwx r-x

效果图:

五、粘滞位

5.1新建普通用户对其家目录享有“绝对管理权”

新建普通用户后,在根目录下的home目录中,会自动新建一个拥有者和所有组均为该用户,权限为700的普通用户家目录,该用户对自己的家目录享有“绝对管理权”

这里的“绝对管理权”包括两方面:

①除了root以及该用户本身外,其他用户都无法进入

②因为目录的拥有者有rwx权限,所以即使root在该目录中新建了了文件,该用户也可以直接进行删除

5.2粘滞位存在的意义和用法

①意义:

假设有三个普通用户:no1,no2和no3

1号和2号通过建立一个other使用者权限为rwx的文件进行共享编辑,但并不希望no3用户参与,此时的no3仍然有直接删除这一文件的权限,这很明显是不合理的,为此引入了“粘滞位”的概念

②用法:

将共享文件权限设置为

chmod o+t+[文件名]

回车

这样以后,共享文件的权限就变为了“rwxrwxrwt

我们称该目录被设置为粘滞位,此时该目录下所有文件只能由

1>文件的拥有者

2>目录的拥有者

3>root

进行删除,可以很好避免no3用户随意删除的问题

六、Linux中软件安装的相关问题

6.1Linux中常见的三种软件安装方式

①apt/yum安装

②rpm安装

③源码安装

6.2操作系统的软件生态

一般在评价一款操作系统的好坏,除了要看本身还要看它背后的软件生态,

其主要构成部分是论坛,官方文档,软件体系三大部分

为了培养软件生态,开源是一种很好的选择,一则可以让操作系统更快完善,二则使用者多了就会带来盈利

6.3yum指令

6.3.1yum的作用

类似于一个本地的应用商店,只能由root进行使用

6.3.2yum的图示

6.3.3yum的使用规范-软件的安装

必须由root用户来进行yum的操作

安装的使用规范:

yum install -y+[安装包名]

回车

6.3.4查看可用安装包与特定安装包的指令

可以用list选项来查看所有安装包

yum list

回车

也可以利用管道来查看指定的安装包,如:

yum list | grep gcc

会展示含有gcc的全部安装包,只需要从中找到需要复制下来即可

6.3.5软件的卸载

使用规范:

yum remove -y+[安装包名]

回车

6.3补:yum使用规范中的-y选项有什么作用

安装指令的过程中会先显示一下安装包的大小,并进行一次询问来决定是否继续安装

加上-y就是默认进行安装,不再进行询问

6.4yum如何确定的连接所需要的服务器(配置yum源)

6.4.1决定yum连接的配置文件

在/etc/yum.repos.d/目录中,

如图

其中以CentOS-Base.repo为例的配置文件中有对应服务器的链接,在使用yum进行软件安装的时候会通过对应链接访问安装包的位置 

6.4.2配置yum源的方法

①搜索获取yum源,将其下载到本地

如CentOS 7.6的yum源在网上许多地方都可以下载,利用指令可以将其下载到Linux中

1>wget+[下载链接]

可以下载到当前目录中

2>curl -o +[下载后存储位置]+[下载链接]

可以下载到指定目录中

②本地配置文件进行备份,再将新文件移动到本地

提前移动本地CentOS-Base.repo到别的位置,再把新配置文件命名为“CentOS-Base.repo”

放到本地文件夹下

③清楚yum缓存并进行应用

清楚缓存:

yum clean all

应用:

yum makecache

七、vim

7.1vim是什么?使用方法是什么样的?

vim是一个代码编辑器,通过多个模式的配合来完成需求

使用方法:

vim+[文件名]

回车

7.2vim多模式的图示

7.3底行模式中的功能

set nu指令可以加行号

初始图示

加行号后:

7.4命令模式中的功能

7.4.1对光标所在行进行操作

1>复制:yy

2>剪切:dd

3>撤销:u

4>黏贴:p

这些指令都可以用数字+指令进行多行操作

7.4.2对光标进行快速定位

1>shift+g(即G)定位到文本结尾

gg定位到文本开头

2>n+shift+g(即G)定位到文本的任意一行

3>h,j,k,l对应←,↓,↑,→按键,当然原来的方向键也可以控制

4>shift+4(即$)快速移动到行尾

shift+6(即^)快速移动到行首

5>w:以“连续字母或一个符号”为单位向后跳,移动的速度比起“→”快很多

b:以“连续字母或一个符号”为单位向前跳,移动速度快

相关文章:

Linux中的权限问题(二)

一、不受权限约束的root 按照文件的使用者进行匹配后,即使权限是“---” root依旧可以正常进行读,写,运行 二、文件拥有者和所属组的更改方法以及限制 2.1chown:更改文件拥有者以及所属组 ①可以单独修改文件拥有者 chown[更…...

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十八节】

ISO 14229-1:2023 UDS诊断服务测试用例全解析(ResponseOnEvent_0x86服务) 作者:车端域控测试工程师 更新日期:2025年02月14日 关键词:UDS协议、0x86服务、事件响应、ISO 14229-1:2023、ECU测试 一、服务功能概述 0x86…...

Spring Boot自动装配:约定大于配置的魔法解密

#### 一、自动装配的哲学思考 在传统Spring应用中,开发者需要手动配置大量的XML或JavaConfig。Spring Boot通过自动装配机制实现了**约定大于配置**的设计理念,其核心思想可以概括为: 1. **智能预设**:基于类路径检测自动配置 2…...

[笔记.AI]大模型的蒸馏、剪枝、量化 | 模型压缩 | 作用与意义

上周简单整理了《deepseek-r1的不同版本(满血版、蒸馏版、量化)》,这次继续完善对其的认知——补充“剪枝”,并进一步整理蒸馏、剪枝、量化的作用与意义。 以下摘自与DeepSeek-R1在线联网版的对话 蒸馏、剪枝、量化是当前主流的三…...

【koa】05-koa+mysql实现数据库集成:连接和增删改查

前言 前面我们已经介绍了第二阶段的第1-4点内容,本篇介绍第5点内容:数据库集成(koamysql) 也是第二阶段内容的完结。 一、学习目标 在koa项目中正常连接数据库,对数据表进行增删改查的操作。 二、操作步骤 本篇文章…...

【数据结构】队列(Queue)

Queue 定义 Java中的队列(Queue)是一种先进先出(FIFO)的数据结构。队列只允许在一段进行插入数据操作,称为入队,在另一端进行删除数据操作,称为出队。我们可以把队列形象看作为排队。在最前面的进行出队,从最后面进行入队。 队列…...

机器学习PCA和LDA

主成分分析(PCA, Principal Component Analysis)和线性判别分析(LDA, Linear Discriminant Analysis)是两种常用的降维方法,它们虽然都用于数据降维,但核心思想和应用场景不同。 PCA(主成分分析…...

RocketMQ - 常见问题

RocketMQ常见问题 文章目录 RocketMQ常见问题一:消息幂等问题1:什么是消费幂等2:消息重复的场景分析2.1:发送时消息重复2.2:消费时消息重复2.3:Rebalance时消息重复 3:通用解决方案3.1&#xff…...

kafka消费能力压测:使用官方工具

背景 在之前的业务场景中,我们发现Kafka的实际消费能力远低于预期。尽管我们使用了kafka-go组件并进行了相关测试,测试情况见《kafka-go:性能测试》这篇文章。但并未能准确找出消费能力低下的原因。 我们曾怀疑这可能是由我的电脑网络带宽问题或Kafka部…...

基于Spring Boot的社区居民健康管理平台的设计与实现

目录 1 绪论 1.1 研究现状 1.2 研究意义 1.3 组织结构 2 技术介绍 2.1 平台开发工具和环境 2.2 Vue介绍 2.3 Spring Boot 2.4 MyBatis 2.5 环境搭建 3 系统需求分析 3.1 可行性分析 3.2 功能需求分析 3.3 系统用例图 3.4 系统功能图 4 系统设计 4.1 系统总体描…...

网络安全架构战略 网络安全体系结构

本节书摘来自异步社区《网络安全体系结构》一书中的第1章,第1.4节,作者【美】Sean Convery 1.4 一切皆为目标 网络安全体系结构 当前的大型网络存在着惊人的相互依赖性,作为一名网络安全设计师,对这一点必须心知肚明。Internet就…...

【Spring+MyBatis】_图书管理系统(中篇)

【SpringMyBatis】_图书管理系统(上篇)-CSDN博客文章浏览阅读654次,点赞4次,收藏7次。(1)当前页的内容records(类型为List);参数:userNameadmin&&pas…...

Python - 爬虫利器 - BeautifulSoup4常用 API

文章目录 前言BeautifulSoup4 简介主要特点:安装方式: 常用 API1. 创建 BeautifulSoup 对象2. 查找标签find(): 返回匹配的第一个元素find_all(): 返回所有匹配的元素列表select_one() & select(): CSS 选择器 3. 访问标签内容text 属性: 获取标签内纯文本get_t…...

宝塔面板开始ssl后,使用域名访问不了后台管理

宝塔面板后台开启ssl访问后,用的证书是其他第三方颁发的证书 再使用 域名/xxx 的形式:https://域名:xxx/xxx 访问后台,结果出现如下,不管使用 http 还是 https 的路径访问都进不后台管理 这个时候可以使用 https://ip/xxx 的方式来…...

大一计算机的自学总结:前缀树(字典树、Trie树)

前言 前缀树&#xff0c;又称字典树&#xff0c;Trie树&#xff0c;是一种方便查找前缀信息的数据结构。 一、字典树的实现 1.类描述实现 #include <bits/stdc.h> using namespace std;class TrieNode { public:int pass0;int end0;TrieNode* nexts[26]{NULL}; };Tri…...

docker 安装的open-webui链接ollama出现网络错误

# 故事背景 部署完ollama以后&#xff0c;使用谷歌浏览器的插件Page Assist - 本地 AI 模型的 Web UI 可以比较流畅的使用DeepSeek&#xff0c;但是只局限于个人使用&#xff0c;想分享给更多的小伙伴使用&#xff0c;于是打算使用open-webui 来管理用户&#xff0c;经官网推荐…...

未来游戏:当人工智能重构虚拟世界的底层逻辑

未来游戏&#xff1a;当人工智能重构虚拟世界的底层逻辑 在《赛博朋克2077》夜之城的霓虹灯下&#xff0c;玩家或许已经注意到酒吧里NPC开始出现微表情变化&#xff1b;在《艾尔登法环》的开放世界中&#xff0c;敌人的战术包抄逐渐显露出类人智慧。这些细节预示着游戏产业正站…...

Redis集群主从切换源码解读

一切的开始 打开Redis5.0.5的源码中server.c&#xff0c;找到如下代码&#xff0c;这里运行了一个定时任务&#xff0c;每隔100毫秒执行一次。 /* Run the Redis Cluster cron. *//** 每隔100毫秒执行一次* 要求开启集群模式*/run_with_period(100) {if (server.cluster_enabl…...

javacv将mp4视频切分为m3u8视频并播放

学习链接 ffmpeg-demo 当前对应的 gitee代码 Spring boot视频播放(解决MP4大文件无法播放)&#xff0c;整合ffmpeg,用m3u8切片播放。 springboot 通过javaCV 实现mp4转m3u8 上传oss 如何保护会员或付费视频&#xff1f;优酷是怎么做的&#xff1f; - HLS 流媒体加密 ffmpe…...

Golang学习笔记_33——桥接模式

Golang学习笔记_30——建造者模式 Golang学习笔记_31——原型模式 Golang学习笔记_32——适配器模式 文章目录 桥接模式详解一、桥接模式核心概念1. 定义2. 解决的问题3. 核心角色4. 类图 二、桥接模式的特点三、适用场景1. 多维度变化2. 跨平台开发3. 动态切换实现 四、与其他…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

鸿蒙HarmonyOS 5军旗小游戏实现指南

1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;采用DevEco Studio实现&#xff0c;包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...