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

【linux】权限相关问题

【linux】权限相关问题

  • 一.用户的分类
    • sudo
  • 二.文件执行的权限
    • i. 文件的分类
    • ii.''人''的分类
    • 三.修改创建文件的权限
      • chmod
      • 更改文件创造的默认权限(umask)
  • 三.删除(粘滞位)

一.用户的分类

在我们使用linux的时候,有用户类型的区分,不同用户有不同的权限

分为:
root用户:不受权限约束
普通用户:受权限约束

这个大家应该都知道,因为平常使用的时候就已经接触过了。

相比于windows中的管理员身份
linux中的root用户可以说是无所不能,安装软件,添加用户权限,删除,查看,执行其他用户的文件,甚至rm -rf整个系统都能做到。
所以root用户可以说是超级用户

而普通用户能做到只能对自己的文件进行删除,查看和删除,可以说只能做自己本分内的事情

那有什么办法可以让普通用户借到超级用户的权力呢?

sudo

相必大家在刷段子的时候应该经常看到删库跑路的代码:sudo rm-rf
sudo的意思就是以root的身份执行这个代码

但是当我们对新建用户使用sudo时会发现在这里插入图片描述
这里会提醒你输入本用户密码。
在这里插入图片描述
输入完成后
会提示test不在sudoers的文件中

这个文件可以说是root的信任用户名单:
允许使用sudo的名单
新建用户肯定不在信任的环境中了。

所以我们接下来需要将test用户添加至sudoer的名单中

我们需要切换为root账号。
输入

vim /etc/sudoers

对sudoers进行编辑

在这里插入图片描述
进入这个界面后,我们随便找个地方进行添加

test    ALL=(ALL)       ALL

这句话即可。

输入完后
使用:!wq指令进行强行退出

这这样你就会发现
在这里插入图片描述
这个指令顺利执行完成了。

二.文件执行的权限

这个部分只要是讲文件的执行权限了。

这里先思考一个问题

要是老板有一个机密文件,一个普通员工能不能去随便翻看
答案肯定是不行的
为什么?

如果是老板能不能进行翻看,可以,因为他是老板
如果这个不是机密文件,只是个员工名单那普通员工能不能进行查看,可以,因为文件很普通
这里我们能得出,一个文件的权限由人和文件本身决定

这里我们就随便拿linux中的一个文件在这里插入图片描述
分别解释这个文件的前面一大句话

i. 文件的分类

在这里插入图片描述
首先是这第一个杠

没错就是这第一个杠,第一个杠就代表了这个文件的属性

代表了这个test.cpp是普通文件

具体还有

- :普通文件 文件 可执行程序 库
d:目录文件
b:块设备文件 : 磁盘
c:字符设备文件: 键盘显示器文件
p:管道文件: 用来进行通信

相信用了这么久的linux大家相比都听过linux中一切都是文件
所以后缀没有意义
那为什么要有后缀呢?
想想本来设计这个就是给用户使用的,
所以是为了迎合用户需求。

在这里插入图片描述
知道了第一个是干嘛用的之后,那之后的字母代表了什么意思。

其实是代表了文件的权限
r:可读
w:可写
x:可执行(图中没有)
-:对应权限位置没有权限

不同文件的类型具有不同的功能
某些文件,无法进行执行,只能读和写
所以这就对应了不同类型的文件权限不同。

ii.'‘人’'的分类

在这里插入图片描述
我们知道了这个字母对应不同的权限,
但是为什么会重复这么多回

其实对应了三种访问者的身份
在这里插入图片描述

用户很好理解,就是用户本人

所在组可以认为是工作组
因为以后肯定是用linux进行合作开发,所以有组的划分

其他人可以认为是其他访问用户

这就对应了三种身份有着不同的权限

三.修改创建文件的权限

chmod

在这里插入图片描述
还是这个文件

如果我们想给每个用户的权限都去掉的话,可以输入:

chmod u-wrx,g-wrx,o-wrx test.cpp

结果:
在这里插入图片描述

(添加的话换成+即可)
其中:
u-用户
g-所在组
o-其他人

还可以用数字设置权限

还是拿这个test.cpp举例子
在这里插入图片描述

chmod 624 test.cpp

结果
在这里插入图片描述
这个结果可能有点难理解。

但是其实就是二进制
在这里插入图片描述
将数字转化为二进制数
在这里插入图片描述
这里我们就能发现权限一一对应了。

所以每一个数字都代表对应用户的权限设定,所以只要输入三个数字就可以了

更改文件创造的默认权限(umask)

按道理来讲,默认创建文件的权限为666。

可以用umask来进行修改默认权限
可以通过

umask 042

进行设置
在这里插入图片描述
为现在创建文件的权限结果。

这里就直接介绍运算过程了
最终权限=(默认权限) & (~umask)

在这里插入图片描述
对umask进行取反
在这里插入图片描述

进行异或得到结果
在这里插入图片描述
这里就发现结果相同了
在这里插入图片描述

三.删除(粘滞位)

一个文件能不能删除,不是取决于文件本身,而是所在的目录
所以将目录设置为不可写,就无法进行删除

在合作开发中,我们常会遇到合作开发,就会在共享文件夹中进行编程。
在共享文件中,如果想要防止别人随意删除自己的文件。
将目录设置为不可写,那所有人都不能对自己的文件进行删除和修改,所以这个方案非常不现实

所以要引入新的权限位
粘滞位
给目录设置,在共享文件中允许大家对各自文件增删查改,不允许别人删除,一种特殊的x权限
添加方法为

chmod o+t

在这里插入图片描述

这里就能发现 o的最后一个权限位置加了t

这样用户在共享文件夹中,只能本用户进行删除,不能被其他用户随意删除了。

相关文章:

【linux】权限相关问题

【linux】权限相关问题 一.用户的分类sudo 二.文件执行的权限i. 文件的分类ii.人的分类三.修改创建文件的权限chmod更改文件创造的默认权限(umask) 三.删除(粘滞位) 一.用户的分类 在我们使用linux的时候,有用户类型的区分,不同用…...

“.NET视频总结:认识框架的结构和组件,掌握开发工具的奥妙“一

目录 第一单元:二十一世纪程序执行 背景: 总结: 第二单元:对象导向与类别设计 背景: 总结: 第三单元:使用类别与基底类别库 总结: 第四单元:Windows开发程序 背景: 总结: 第五单元:防护式程序设计 背景: 总结: 第六…...

02-RocketMQ开发模型

目录汇总:RocketMQ从入门到精通汇总 上一篇:01-RocketMQ整体理解与快速实战 上一部分,我们可以搭建RocketMQ集群,然后也可以用命令行往RocketMQ写入消息并进行消费了。这一部分我们就来看怎么在项目中用上RocketMQ。 一、RocketMQ…...

第83步 时间序列建模实战:Catboost回归建模

基于WIN10的64位系统演示 一、写在前面 这一期,我们介绍Catboost回归。 同样,这里使用这个数据: 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal Syndr…...

开源任务调度框架

本文主要介绍一下任务调度框架Flowjob的整体结构,以及整体的心路历程。 功能介绍 flowjob主要用于搭建统一的任务调度平台,方便各个业务方进行接入使用。 项目在设计的时候,考虑了扩展性、稳定性、伸缩性等相关问题,可以作为公司…...

Android Native 开发 要点记录

Android Studio 中写 C 代码 android studio创建C项目_android studio native c-CSDN博客 项目配置参考 【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)_【cmake】cmakelists.txt的超傻瓜手把手教程(附实例源码)-CSDN博客 CMakeLists.txt 讲解…...

数据库中查询所有表信息,查询所有字段信息

MYSQL中 所有表信息 information_schema.tables表 SELECT * FROM information_schema.tables -- TABLE_NAME 表名 -- TABLE_COMMENT 表中文名所有字段信息 information_schema.COLUMNS表 SELECT * FROM information_schema.tables -- TABLE_SCHEMA 数据库名 -- COLUMN…...

改进智能优化算法常用指标一键导出为EXCEL,最优值,平均值,标准差,最差值,中位数,秩和检验,箱线图...

声明:对于作者的原创代码,禁止转售倒卖,违者必究! 为了突出改进智能优化算法的效果,常常会将改进的智能算法与其他算法进行对比。 在一些期刊论文中,经常会看到一个超级大的表格,统计着每个算法…...

在asp.net中,实现类似安卓界面toast的方法(附更多弹窗样式)

目录 一、背景 二、操作方法 2.1修改前 2.2修改后 三、总结 附:参考文章: 一、背景 最近在以前的asp.net网页中,每次点击确定都弹窗,然后还要弹窗点击确认,太麻烦了,这次想升级一下,实现…...

一站式解决方案:Qt 跨平台开发灵活可靠

一站式解决方案:Qt 跨平台开发灵活可靠 Qt 是一种跨平台开发工具,为开发者提供了一站式解决方案。无论您的项目目标是 Windows、Linux、macOS、嵌入式系统还是移动平台,Qt 都能胜任。这种跨平台的特性不仅节省开支,还推动了战略的…...

将cpu版本的pytorch换成gpu版本

1.首先激活虚拟环境 winRcmd 打开dos命令窗口 查看虚拟环境列表 conda env list 激活虚拟环境 2.将原来的pytorch_cpu版本换成gpu版本 注意:安装gpu版本的pytorch时并不需要先卸载原来的cpu版本pytorch,安装时会自己替换的 打开pytorch官网查看以前版本 Previo…...

Ubuntu安装QQ

原文网址:2023在Ubuntu安装最新版QQ Linux v3.1.0 - 哔哩哔哩 作者:sprlightning https://www.bilibili.com/read/cv22100663/ 出处:bilibili 2022年末QQ推出了QQ Linux v3.0系列,目前最新版是今年2月24日推出的v3.1.0版本。注意…...

【Python】实现excel文档中指定工作表数据的更新操作

在做数值计算时,个人比较习惯利用excel文档的公式做数值计算进行对比,检查异常,虽然计算量大后,excel计算会比较缓慢,但设计简单,易排错 但一般测试过程中使用到的数据都不是最终数值,会不停根据…...

力扣(LeetCode)2731. 移动机器人(C++)

脑经急转弯排序 碰撞只改变运动方向,速度始终如"1",且机器人视为无差别的,所以碰撞等于擦肩而过!"机器人碰撞,到底撞没撞,如撞。"因此只考虑每个机器人单方向移动,d秒后停…...

vite和webpack

vite和webpack 文章目录 vite和webpackvite介绍什么是vite为什么使用vitevite优缺点热更新的实现原理 webpack介绍什么是webpackwebpack 优缺点 Vite 为什么比 Webpack 快vite和webpack的区别面试问题Vite为什么比webpack快? vite介绍 什么是vite Vite 是新型前端…...

MinIO图片正常上传不可查看,MinIO通过页面无法设置桶为public

项目场景:国产中标麒麟操作系统部署MinIO正常启动后发现图片能正常上传,但是匿名浏览该图片的时候无法查看。通过网络查询解决方案,得出的结论是:需要把当前上传文件的桶设置为public,由于创建桶默认是private且不可通过浏览器进行…...

Linux 指令心法(七)`cat` 查看、合并和创建文本文件

文章目录 命令的概述和用途命令的用法命令行选项和参数的详细说明命令的示例命令的注意事项或提示 命令的概述和用途 cat 是 “concatenate” 的缩写,它是一个 Linux 和 Unix 系统中的命令,用于查看、合并和创建文本文件。cat 主要用于以下几个方面&…...

解决docker开启MySQL的binlog无法成功。docker内部报错:mysql: [ERROR] unknown variable

1. 报错信息 2. 操作流程 整个流程是这样的: 我愉快的输入docker ps,查看MySQL的docker 容器id 执行指令docker exec -it 8a \bin\bash进入容器内部执行vim /etc/my.cnf,打开配置文件按照网上说的,添加如下配置信息退出docker容…...

c,python ,java,c++ c#在控制台打印彩色文本

在C语言、Java和C#中,你可以通过使用特定的控制字符或库来设置文本颜色。下面分别演示如何在这三种编程语言中实现文本颜色的设置: 在C语言中实现文本颜色设置: C语言中的颜色设置通常依赖于特定的终端或操作系统。以下是一种使用C语言的方…...

MySQL数据库技术笔记(5)

聚合函数: count(): 统计某种数据的数量 sum(): 统计某种数据的总和 max(): 某种数据的最大值 min(): 某种数据的最小值 avg(): 某种数据的平均值 排序的用法 : 关键字 order by 升序 : ASC (从小到大排序) 默认为升序 降序 : DESC…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

生成 Git SSH 证书

🔑 1. ​​生成 SSH 密钥对​​ 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​: -t rsa&#x…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

云原生安全实战:API网关Kong的鉴权与限流详解

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...