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

架构师之路-学渣到学霸历程-11

权限管理

我们可以通过一下命令来了解Linux的用户权限;
Linux的用户权限真的涉及得非常好,让我们了解一下用户权限的知识吧;
let’s go go go~!

chmod命令:

  • 作用:变更文件或者目录的权限
  • 语法: chmod u±= rwx + 文件名
  • ugo说明
#所有者、所属组、其他人的说明:
u 用户user,文件或目录的所有者。
g 用户组group,文件或目录所属群组
o 其它用户others
a 所有用户all,系统默认使用此项
  • 加减等于的说明
#添加、减去、或者直接赋予的表示
+ 添加某些权限
- 取消某些权限
= 设置文件的权限为给定的权限
  • 可读可写可执行
#权限的表示
r 表示可读权限
w 表示可写权限
x 表示可执行权限
  • 特殊权限的说明
#三个特殊权限说明:#s权限的说明:
设置权限suid和sgid,使用权限组合“u+s”设定文件的用户的ID位,“g+s”设置组ID位#t权限的说明
t 只有目录或文件的所有者才可以删除目录下的文件#选项说明 -R
-R 递归处理,将指令目录下的所有文件及子目录一并处理
  • 案例说明–>设置可读可写权限
#设置其他人o+w 或者是o=rw权限+ 表示直接加上写权限。= 表示将其他用户权限设置为可读可写,如果以前还有可执行权限,现在也去掉。#查看一下文件的权限
[root@Linux0 test]# ll a.txt 
-rw-r--r-- 1 root root 16 927 10:08 a.txt#然后直接授权文件
[root@Linux0 test]# chmod o=rw a.txt 
[root@Linux0 test]# ll a.txt 
-rw-r--rw- 1 root root 16 927 10:08 a.txt#如果对于目录进行授权-->-R是递归授权
[root@Linux0 test]# ls -ld aa
drwxr-xr-x 2 root root 20 927 10:09 aa
[root@Linux0 test]# chmod -R  o=rw  aa/
[root@Linux0 test]# ll -ld aa aa/*
drwxr-xrw- 2 root root 20 927 10:09 aa
-rw-r--rw- 1 root root 18 927 10:09 aa/aa.txt
  • 如果权限过大就会产生危险;
    • 将目录权限设置为其他用户可写,
    • 这时普通用户是可以进入到目录中任意删除,修改文件名(即使不是自己的文件),
    • 对文件的其他用户权限为不可写的文件也可以强制保存。
#优先修改aa目录的权限
[root@Linux0 test]# ll -ld aa 
drwxr-xrw- 2 root root 20 927 10:09 aa#它是有w权限;那么使用liangjiawei用户可以进入直接修改root用户的文件
[liangjiawei@Linux0 ~]$ whoami 
liangjiawei##目前没有能够进入aa目录,因为test目录对他限制了
[liangjiawei@Linux0 ~]$ cd /test/aa/
-bash: cd: /test/aa/: 权限不够#查看test目录的权限
[liangjiawei@Linux0 ~]$ ll -d /test/
drwxr-xr-x 7 root root 98 927 10:29 /test/#直接提权目录
[root@Linux0 test]# chmod o+w /test/
[root@Linux0 test]# ll -d /test/
drwxr-xrwx 7 root root 98 927 10:29 /test/#这时候切换这个liangjiawei用户就能够修改aa目录的名字
[liangjiawei@Linux0 ~]$ cd /test/#可以直接修改
[liangjiawei@Linux0 test]$ echo aaa > a.txt 
[liangjiawei@Linux0 test]$ cat a.txt 
aaa【o-w】将目录权限设置为其他用户不可写(目录默认权限755),这时普通用户就无法删除,修改文件名,但是如果文件本身有其他可写权限,还是可以写数据的。
  • 总结:
    • 父目录其他用户有可写权限,其下子文件不管有没有可写权限,均可强行写入,修改!
    • 父目录其他用户没有可写权限,其下子文件只有可写才有写入权限,但不具备删除,修改文件名权限。
  • 设置特殊权限,设置-t权限
    • 是对目录设置特殊权限,用户只能删除自己的文件
#创建一个目录#把test目录的权限变成777
[root@Linux0 test]# chmod 777 /test/#然后再创建一个data目录
[root@Linux0 test]# mkdir data
[root@Linux0 test]# ll -ld data/
drwxr-xr-x 2 root root 6 927 14:51 data/#然后设置一个t权限
[root@Linux0 test]# chmod o+t data/
[root@Linux0 test]# ll -d data/
drwxr-xr-t 2 root root 6 927 14:51 data/#把data目录提权到777
[root@Linux0 test]# chmod 777 data/
[root@Linux0 test]# cd data/
[root@Linux0 test]# chmod o+t data/
[root@Linux0 test]# ll -d data/
drwxrwxrwt 2 root root 6 927 14:59 data/
[root@Linux0 test]# ll root.txt 
-rw-r--r-- 1 root root 0 927 15:01 root.txt#然后-->登录普通用户liangjiawei
#没法删除其他人的文件,只能删除自己的文件
[liangjiawei@Linux0 data]$ rm -rf root.txt 
rm: 无法删除"root.txt": 不允许的操作#同样的,liangjiawei的文件,也没法删除

分享环节:
hi,亲爱的朋友们:

  • 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
  • 资源免费共享;有需要滴滴,(仅仅是我有的)

我的坚持初衷:💕立志要成为一名架构师

  • 不断地去坚持学,其中的各种各样的难度,不言而喻~!
  • 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!

如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!

相关文章:

架构师之路-学渣到学霸历程-11

权限管理 我们可以通过一下命令来了解Linux的用户权限; Linux的用户权限真的涉及得非常好,让我们了解一下用户权限的知识吧; let’s go go go~! chmod命令: 作用:变更文件或者目录的权限语法&#xff1a…...

Java Mail腾讯企业邮箱或其他邮箱发送邮件失败bug记录

问题出现情况 邮件发送时debug用F8逐步运行可以成功发送邮件,但是用F9或者直接运行程序却发送失败未开启mail的debug模式的报错日志是下面这个:org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is java…...

【大数据】HBase集群断电文件坏块导致集群无法启动处理

hfile文件有坏块 Corrupt文件目录:/hbase/data/… HBase异常:region无法在正常上线,http://master:16010页面看region 一直处于transition状态 wal文件损坏 Corrupt文件目录:/hbase/oldWALs/…或/hbase/WALs/… HBase异常&…...

400行程序写一个实时操作系统(三):Sparrow的学习方法

千里之行始于足下,为了让大家的学习更加事半功倍,笔者将会介绍RTOS的学习方法。 可能很多人拿到一份源码,就想通过各种方式搞懂它,例如抄代码或者读代码。 笔者认为,单纯抄一个实时操作系统是没有任何用处的。比如对…...

为什么人工智能用 Python?

人工智能领域倾向于使用Python,主要归因于Python的多个显著优势: 简洁性与可读性:Python的语法设计简洁明了,代码易于阅读和理解,这对于涉及复杂算法和逻辑的人工智能项目尤为重要。它降低了编程门槛,使得…...

【C++差分数组】P1672何时运输的饲料

本文涉及知识点 C差分数组 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 P1672何时运输的饲料 原文比较啰嗦&#xff0c;我简述一下&#xff1a; 第x天运来F1(1<F1<1e6)千克的饲料&#xff0c;第D&#xff08;1<2e3)天还剩F2&…...

Go基础知识:切片

数组 Go 数组的大小是固定的&#xff0c;其长度是其类型的一部分&#xff08;[4]int并且[5]int是不同的、不兼容的类型&#xff09; var a [10]intb : [2]string{"Penn", "Teller"} b : [...]string{"Penn", "Teller"}package maini…...

Redis配置篇 - 指定Redis配置的三种方式,以及Redis配置文件介绍

文章目录 1 指定Redis配置的三种方式1.1 通过命令行参数来指定Redis配置1.2 通过配置文件来指定Redis配置1.3 在服务器运行时更​​改 Redis 配置 2 关于Redis配置文件 1 指定Redis配置的三种方式 1.1 通过命令行参数来指定Redis配置 在redis启动时&#xff0c;可以直接通过命…...

探索scikit-learn的datasets模块:数据集的加载与使用

引言 在机器学习和数据分析领域&#xff0c;数据集的选择和准备是至关重要的一步。scikit-learn库的datasets模块为我们提供了多种内置的数据集&#xff0c;方便我们进行模型训练和测试。这些数据集既有大型的数据集&#xff0c;也有便于教学和初步探索的小型数据集。本文将重…...

手机使用技巧:8 个 Android 锁屏移除工具 [解锁 Android]

有时候&#xff0c;您会被锁定在自己的 Android 设备之外&#xff0c;而且似乎不可能重新进入。 一个例子就是你买了一部二手手机&#xff0c;后来发现无法使用。另一种情况是你忘记了屏幕锁定密码和用于验证密码的 Google 帐户凭据。这种情况很少见&#xff0c;但确实会发生&…...

SSL 协议(HTTPS 协议的关键)

所谓的协议 协议只是一种规则&#xff0c;你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则&#xff0c;任何人都可以定协议 我们不需要太了解细节&#xff0c;这些是制定和完善协议的人去做的&#xff0c;我们只需要知道协议的一个大概 一、SSL 协议 1、…...

test_2_27(C指针)

test_2_27 #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>使用指针数组来模拟实现二维数组int main() {int* arr[10];//指针数组int arr1[] { 1,2,3,4,5 };int arr2[] { 2,3,4,5,6 };int arr3[] { 3,4,5,6,7 };int* arr[3] {arr1, arr2, arr3};int i 0;for …...

设计模式——门面模式 | 外观模式

哈喽&#xff0c;各位盆友们&#xff01;我是你们亲爱的学徒小z&#xff0c;今天给大家分享的文章是设计模式的——门面模式。 文章目录 定义通用类图1.通用结构2.优点3.缺点 使用场景注意事项1.一个子系统可以有多个门面2.门面不参与子系统内的业务逻辑 定义 定义&#xff1a;…...

FPGA时序分析和约束学习笔记(1、FPGA基本原理)

FPGA时序分析和约束学习笔记-&#xff08;1、FPGA基本原理&#xff09; Field现场Programmable可编程Gate门Array阵列 1、FPGA基本资源组成 可编程逻辑功能块&#xff08;logic elements &#xff0c;缩写LE&#xff09; 片内互联线&#xff08;interconnect&#xff0c;缩写…...

VMware桥接模式无法连接网络

windows下打开控制面板&#xff0c;找到WLAN&#xff0c;记住下面的名称&#xff08;带有VMware的都是虚拟机的网卡&#xff0c;要找到物理主机的网卡&#xff09; 回到VMware&#xff0c;编辑——打开虚拟网络编辑器 桥接选择上面的WLAN下的网络名称&#xff0c;确定即可。&…...

YOLO11改进|卷积篇|引入空间通道重组卷积ScConv

目录 一、【SCConv】卷积1.1【SCConv】卷积介绍1.2【SCConv】核心代码 二、添加【SCConv】卷积2.1STEP12.2STEP22.3STEP32.4STEP4 三、yaml文件与运行3.1yaml文件3.2运行成功截图 一、【SCConv】卷积 1.1【SCConv】卷积介绍 SCConv 模块提供了一种新的视角来看待CNNs的特征提取…...

Java:方法详解

目录 一.什么是方法(method) 二.方法定义 三.方法中实参和形参的关系 四.方法重载 五.递归 一.什么是方法(method) 方法就是一个代码片段&#xff0c;再C语言中我们曾经学过一个类似的方式——函数&#xff0c;他们都是将具有独立功能的代码组织成一个整体&#xff0c;形成…...

Python 三方库下载安装

Python 三方库下载安装 1、在线安装 pip install pandas # 直接安装 python -m pip install pandas # 使用指定Python中的pip进行安装 pip install pandas1.2.3 # 安装指定版本 pip install pandas -i http://pypi.douban.com/simple --trusted-host pypi.…...

使用npm i报错node-sass失败问题解决

node 版本&#xff1a;v14.15.4 解决方法&#xff1a; npm config set sass_binary_sitehttps://npmmirror.com/mirrors/node-sass设置完之后&#xff0c;再npm i 就可以下载成功 亲测有效...

vite+vue3实现动态路径导入

最近在做一个项目有个需求: 项目图片分为英语,中文,德语 ,我将这些图片存放到/image/language/下面的每个语言的文件夹内,如en,zh-cn文件夹下面存放对应的语言的图片,如果在代码里面写路径的话,除了要写一堆路径还要判断不同的语言,非常麻烦,但是在vue3vite里面import导入的是加…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...