linux中的权限

Linux 的权限

在了解Linux的权限之前,我们需要知道Linux的构成,Linux分为三个部分,内核、外部程序、以及用户。

内核:

  • 内核一般是指Linux的操作系统,用来执行用户发送的指令 或者 拒绝执行用户发布指令时而发出的报错行为,简单来说就是执行指令和发出报错。

在云服务器中,可以使用uname -r 指令进行查询当前的操作系统信息,其中包括cpu以及操作系统的版本。查看操作系统版本

查看cpu信息

查看内存信息

外部程序:

  • 常见的外部程序是命令行代码或者图形界面,在Linux中,用户是不能直接对内核发布指令,需要先对外部程序发布指令,再由外部程序将指令传达到操作系统中。

在外部程序中,外部程序通常是使用一种子进程来进行传达用户输入的指令的,这是外部程序的一种保护自我的机制,若子进程挂了,外部程序无事发生,若外部程序挂了,那么整个用户和内核之间的联系便断了。

  • 其次外部程序其实是一种对内核操作系统的一种保护,回对用户输入的命令进行审查,若指令出错并不会传达到内核中,而上接着内核的名义进行阻断和报错。

    用户:

    权限 = 角色 + 事物的属性,而角色则是使用操作系统的用户,而事物的属性则是文件的权限和功能。

对于用户来说,本质上分为两类,第一类是超级管理员 root 而另一类则是普通用户。

超级管理员root有着无视规则的权限,一般在Linux的命令框后使用的是#,而普通用户则使用的是$

普通用户变为超级用户:
  • 直接使用指令su
  • 取消转变直接ctrl +d 或则exit

root用户变成普通用户:
直接 su 普通用户用户名,变成普通用户不需要输入密码。

以root的身份执行命令:

 让普通用户以root的身份执行一个工作,需要使用 sudo 命令 ,如下所示:使用sudo命令借助着root的权限建立了一个文件。

当然,由于文件是以root权限和身份建立的,所以这个文件的所属组和拥有者是root用户。


 一、压缩&解压

zip

zip 名字.zip [需要打包的文件]

zip -r  名字.zip [需要打包的目录]:如下图所示,将目录111下的文件压缩到111.zip中  ,-r其实也是一种递归处理。

zip -r test.zip *  打包多个文件或者打包多个目录 zip 名字 .zip   [文件] [目录]  [文件]    同时将这些文件或者目录打包到一起

unzip

unzip  [zip文件]

unzip [zip文件]  -d  [路径]::将zip文件解压到指定的目录下。


tar

tar指令同时拥有压缩和打包的功能

【常用打包命令】
tar -cvf 打包文件名(xx.tar) 打包文件(*.txt)
【常用拆包命令】
tar -xvf 打包文件名(xx.tar)
【常用打包压缩命令】
tar -zcvf test.tar.gz *.txt (使用gzip进行压缩)
tar -jcvf test.tar.bz2 *.txt (使用bzip2进行压缩)
【常用拆包解压缩命令】
tar -zxvf test.tar.gz (使用gzip进行解压缩)
tar -jxvf test.tar.bz2 (使用bzip2进行解压缩)

一、常用参数说明(主参数)

必要参数,下面参数是tar运行时必须要有的,有且仅有一个。(具体的动作命令,互斥存在,不能即想压缩,又想解压缩。)

二、其他参数说明(辅助参数) 

二、文件的传送

sz 压缩文件.tgz 

将压缩文件 传送的电脑主机上。

scp 

scp XXX.tgz 用户名@另一台linux机器的ip:你要拷贝到的路径 

rz 

将电脑主机的文件传送到虚拟机服务器中

三、 计算指令 bc

bc 的使用,退出使用quit进行退出

 热键:

  • ctrl + c终止命令
  • table 快速补齐,给个关键字 摁下table 就回出现带有关键字的命令,关键字越多,table越准确
  • ctrl + d  关机xshell 

ctrl +r 搜索历史命令,ctrl + r 之后输入历史命令中的关键字就会自动跳出历史命令


文件的权限属性:

一个文件可以拥有三个权限:

  1. 是否具有可以读的权限
  2. 是否具有可以写的权限
  3. 是否具有可以执行的权限

这三种权限分别对应字符 r 、w、x  ,当具有可读权限的时候会显示字符r,当具有可写权限时会显示字符w,当具有可执行权限时会显示x。

这些权限可以认定为 文件对不同的用户 而开放的不同权限。 

当然这些权限是可以修改的,使用chmod进行对应角色的权限修改: 

删去 拥有者 的 可读权限 

删去 所属组 的 可写权限 删去 other 的 可读权限 修改 多个 用户的权限 同时添加 拥有者 所属组 other 的可读权限 

对于普通用户:没有 r 权限 就不能查看文件的内容,没有w权限就不能再文件中写入内容。 这是普通文件给予自己的一种束缚,即便文件的创始者是自己,但是对于超级用户root而言可以无视这些束缚。  

身份匹配: 

当文件的拥有者和所属组是同一个时,这就会产生一共疑问,我是拥有者,但拥有者没有这些权限,但我也是所属组,所属组有这些权限,但为什么还是不能使用这些权限呢? 

答:

  1. 这涉及到linux的身份识别问题,linux对用户的身份识别只识别一次, 也就说第一个身份识别失败后会开始识别第二次,当识别成功后就不会往后继续识别身份。
  2. 例如匹配完拥有者成功后,就不继续匹配是否是所属组了,当识别不是拥有者不是所属组之后就认定为other  

拥有者、所属组的修改: 

  1. chown 用户名 文件   修改文件的拥有者
  2.  chgrp 用户名 文件    修改文件的所属组
  3. chown 用户名1:用户名2 文件   修改文件的拥有者和所属组

修改拥有者   同时修改拥有者和所属组 

 


粘滞位

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除

 使用chmod +t 目录名  的操作,将目录下的文件进行操作,使得目录中的文件不得被删除。

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

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

相关文章

大数据之Flink优化

文章目录 导言:Flink调优概览第1章 资源配置调优1.1 内存设置1.1.1 TaskManager 内存模型1.1.2 生产资源配置示例 1.2 合理利用 cpu 资源1.2.1 使用 DefaultResourceCalculator 策略1.2.2 使用 DominantResourceCalculator 策略1.2.3 使用DominantResourceCalculato…

YOLOv9来了,可编程梯度信息与广义高效层聚合网络 助力全新检测SOTA前沿

本文首发:AIWalker 欢迎关注AIWalker,近距离接触底层视觉与基础AI技术 摘要 当今的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果最接近真实情况;与此同时,必须设计一个适当的架构,以便…

[electron]官方示例解析

官方例子 github链接 main.js const { app, BrowserWindow } require(electron)说句实话这里的语法是有部分看不懂的。导入模块虽然electron有很多模块。但是这里只是用到了app 和 BrowserWindow function createWindow () {// Create the browser window.const mainWindo…

go语言的理解,看这一篇就够了

1.来源 Go语言是谷歌2009年发布的第二款开源编程语言 2.谷歌为什么要创建Go语言 计算机硬件技术更新频繁, 性能提高很快,默目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个简洁而高效…

SSM项目集成Spring Security 4.X版本 之 加入DWZ,J-UI框架实现登录和主页菜单显示

目录 前言 一、加入DWZ J-UI框架 二、实现登录页面 三、实现主页面菜单显示 前言 大家好!写文章之前先列出几篇相关文章。本文内容也在其项目中接续实现。 一. SSM项目集成Spring Security 4.X版本(使用spring-security.xml 配置文件方式&#xff…

eclipse中open Type 、 open type in Hierachy、open Resource的区别

目录 场景: open Type open Resource open type in Hierachy 场景: 在项目中想要研究底层代码,经常要用eclipse看依赖jar包的类,比如spring的源码中AbstractApplicationContext类CTLSHIFTT用的少,经常用的CTLSHIR…

YOLO系列论文阅读(v1--v3)

搞目标检测,绕不开的一个框架就是yolo,而且更糟糕的是,随着yolo的发展迭代,yolo网络可以做的事越来越多,语义分割,关键点检测,3D目标检测。。。这几天决定把YOLO系列彻底梳理一下,在…

leet hot 100-4 移动零

移动零 原题链接思路代码 原题链接 leet hot 100-4 283. 移动零 思路 遍历数组 将非0数字 移动到数组前端 数字0就会被移动到数组末端 时间复杂度O(n) 空间复杂度(n) 代码 class Solution { public:void moveZeroes(vector<int>& nums) {int start 0;int ind…

Spring篇----第五篇

系列文章目录 文章目录 系列文章目录前言一、Spring IoC 的实现机制。二、什么是 spring bean?三、spring 提供了哪些配置方式?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享…

XSS原理和攻防

Cross Site Scripting:跨站脚本攻击 用户提交的数据中可以构造恶意代码&#xff0c;并且执行&#xff0c;从而实现窃取用户信息等攻击 攻击&#xff1a; 防御&#xff1a; 1.对输入进行过滤&#xff0c;对输出进行编码 2.cookie设置http-only

Android 如何添加自定义字体

Android 如何添加自定义字体 比如我要添加 jetbrains 相关字体 在 res 文件夹中添加 font 文件夹。里面放入你的字体文件 .ttf .otf&#xff0c;字体文件名需要是小写&#xff0c;只能是字母和下划线。 在 xml 布局文件中直接通过 android:fontFamily"font/jetbrainsmo…

Spring事务失效场景

【事务的回滚仅仅对于unchecked的异常有效。对于checked异常无效。也就是说事务回滚仅仅发生在&#xff0c;出现RuntimeException或Error的时候。通俗一点就是&#xff1a;代码中出现的空指针等异常&#xff0c;会被回滚。而文件读写、网络超时问题等&#xff0c;spring就没法回…

[面试] 什么是死锁? 如何解决死锁?

什么是死锁 死锁&#xff0c;简单来说就是两个或者多个的线程在执行的过程中&#xff0c;争夺同一个共享资源造成的相互等待的现象。如果没有外部干预线程会一直阻塞下去. 导致死锁的原因 互斥条件&#xff0c;共享资源 X 和 Y 只能被一个线程占用; 请求和保持条件&#xf…

U版YOLO-World来了,YOLOv8再度升级,三行代码上手YOLO-World!

本文首发&#xff1a;AIWalker 欢迎关注AIWalker&#xff0c;近距离接触底层视觉与基础AI https://arxiv.org/abs/2401.17270 https://github.com/AILab-CVC/YOLO-World https://github.com/ultralytics/ultralytics https://www.yoloworld.cc/ YOLO-World亮点 YOLO-World是下…

MiKTeX安装后,Latex编译后PDF无法预览,是灰色的

解决方式删掉编译器就可以&#xff0c; 即删掉MiKTeX MiKTeX安装后会将编译器默认修改为MiKTeX&#xff0c;这个时候会显示报错&#xff0c;简单粗暴的方式是删掉MiKTeX软件

AI:135-基于卷积神经网络的艺术品瑕疵检测与修复

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

Github 2024-02-21 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-02-21统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目8非开发语言项目1TypeScript项目1 gpt4free 语言模型集合改进计划 创建周期&#xff1a;300 天开…

并发编程(4)共享模型之无锁

6 共享模型之无锁 本章内容 CAS 与 volatile原子整数原子引用原子累加器Unsafe 6.1 问题提出 有如下需求&#xff0c;保证 account.withdraw 取款方法的线程安全 import java.util.ArrayList; import java.util.List;interface Account {// 获取余额Integer getBalance();…

复旦大学MBA:AIGC时代,科技与商业迸发更绚烂的火花

ChatGPT问世以来&#xff0c;AI技术及应用进入一个全速推进的通道&#xff0c;快速迈入通用大模型时代。从AGI(人工通用智能&#xff09;到AIGC(AI多模态内容生成&#xff09;&#xff0c;AI正在飞速重塑各个行业、人类生活乃至人类的未来。在商业领域更是给营销场景和营销工具…

Mac OS 搭建C++开发环境【已解决】

Mac OS 搭建C开发环境 文章目录 Mac OS 搭建C开发环境一、安装命令行工具&#xff1a;二、安装vscode三、安装gcc3.1 安装Homebrew3.2 安装gcc3.3 修改配置 四、更改VSCode默认编译器五、安装gdb六、安装Cmake && git七、编译运行 本地环境&#xff1a; Mac OS Sonoma …