Linux权限的概念,shell命令以及运行原理

目录

  • 1.shell命令以及运行原理
  • 2.Linux权限
    • 2.1Linux中的两类用户
    • 2.2Linux权限管理
      • 2.2.1文件访问者的分类(人)
      • 2.2.2文件类型和访问权限(事物属性)
      • 2.2.3文件的类型以及权限的缩写
      • 2.2.4文件权限值的表示方法
      • 2.2.5文件访问权限的相关设置方法
      • 2.2.6 umask指令与权限的关系
    • 2.3file指令:
    • 2.4目录的权限
    • 2.5粘滞位
  • 3.关于权限的总结

1.shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel) “ ,但我们一般用户,不能直接使用kernel。
而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?
从技术角度, Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。
对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运
行出结果,通过shell解析给用户。
帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的
且有让你心动的MM小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提
亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash。

2.Linux权限

2.1Linux中的两类用户

Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令: su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令

2.2Linux权限管理

2.2.1文件访问者的分类(人)

文件和文件目录的所有者: u—User(中国平民 法律问题)
文件和文件目录的所有者所在的组的用户: g—Group(不多说)
其它用户: o—Others (外国人)

2.2.2文件类型和访问权限(事物属性)

在这里插入图片描述

2.2.3文件的类型以及权限的缩写

在Windows系统中我们查看文件的类型可通过看后缀,但在Linux系统中并没有采用这样的方式,想查看文件的类型则可通过使用ll指令后查看文件属性中的第一个字符所对应的字符来判断是什么类型的文件
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“—”表示不具有该项权限

2.2.4文件权限值的表示方法

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

2.2.5文件访问权限的相关设置方法

1.chmod
功能: 设置文件的访问权限
格式: chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
chmod
① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
chmod a=x /home/abc.txt
②三位8进制数字
实例:

# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

2.chown

功能:修改文件的拥有者
格式: chown [参数] 用户名 文件名
实例:

# chown user1 f1
# chown -R user1 filegroup1

3.chgrp

功能:修改文件或目录的所属组
格式: chgrp [参数] 用户组名 文件名
常用选项: -R 递归修改文件或目录的所属组

2.2.6 umask指令与权限的关系

umask

功能:
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到
umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
格式: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

2.3file指令:

功能说明:辨识文件类型。
语法: file [选项] 文件或目录…
常用选项:
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。

2.4目录的权限

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
于是, 问题来了~~
换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限

[root@localhost ~]# chmod 0777 /home/
[root@localhost ~]# ls /home/ -ld
drwxrwxrwx. 3 root root 4096 919 15:58 /home/
[root@localhost ~]# touch /home/root.c
[root@localhost ~]# ls -l /home/
总用量 4
-rw-r--r--. 1 root root 0 919 15:58 abc.c
drwxr-xr-x. 27 litao litao 4096 919 15:53 litao
-rw-r--r--. 1 root root 0 919 15:59 root.c
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/root.c #litao可以删除root创建的文件
rm:是否删除有写保护的普通空文件 "/home/root.c"? y
[litao@localhost ~]$ exit
logout

为了解决这个不科学的问题, Linux引入了粘滞位的概念.

2.5粘滞位

[root@localhost ~]# chmod +t /home/ # 加上粘滞位
[root@localhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 919 16:00 /home/
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/abc.c #litao不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"? y
rm: 无法删除"/home/abc.c": 不允许的操作

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

3.关于权限的总结

目录的可执行权限是表示你可否在目录下执行命令。
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限
所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTML 曲线图表特效

下面是代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>基于 ApexCharts 的 HTML5 曲线图表DEMO演示</title><style> body {background: #000524; }#wrapper {padding-top: 20px;background: #000524;b…

opencv#33 边缘检测

边缘检测原理 图像的每一行每一列都可以看成是一个连续的信号经过离散后得到的数值&#xff0c;例如上图左侧给出的图像由黑色到白色的一个信号&#xff0c;也就是图像中某一行像素变化是由黑色逐渐到白色&#xff0c;我们将其对应在一个坐标轴中&#xff0c;将像素值的大小对应…

sysfs: cannot create duplicate filename ‘/devices/virtual/leds/led1‘问题查找及解决

问题描述&#xff1a;安装模块时出现如下错误&#xff1a; [rootVinxin_PC leds]# cd /driver_Test/ [rootVinxin_PC driver_Test]# ls app leds-s5pv210.ko [rootVinxin_PC driver_Test]# lsmod Module Size Used by Not tainted [rootVin…

最全全国十七个数据入表和资产化案例深度解析

2024年1月1日起&#xff0c;财政部会计司发布的《企业数据资源相关会计处理暂行规定》正式施行&#xff0c;规定为数据资源的会计处理提供了明确的指导原则。这一里程碑事件也标志着我国在数据资产入表领域正式进入实际操作阶段&#xff0c;随后&#xff0c;数据资产入表在全国…

stable diffusion学习笔记——文生图(一)

模型设置 基本模型 基本模型也就是常说的checkpoint&#xff08;大模型&#xff09;&#xff0c;基本模型决定了生成图片的主体风格。 如上图所示&#xff0c;基本模型的后缀为.safetensors。需要存放在特定的文件夹下。 如果用的是启动器&#xff0c;可以在启动器内直接下载。…

2024年黑龙江省安全员C证证考试题库及黑龙江省安全员C证试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年黑龙江省安全员C证证考试题库及黑龙江省安全员C证试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考…

(java)idel中将对与json的相互转

1、目录结构 2、导入包 在模块下面建立lib目录将包导入模块中 包的百度网盘 链接&#xff1a;https://pan.baidu.com/s/1abNF8cOTeNb00rM7tp04iQ?pwd39wc 提取码&#xff1a;39wc 3、建立两个测试类person和dog类 public class Dog {private String name;private int age…

STM32标准库——(5)EXTI外部中断

1.中断系统 中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行 中断优先级&#xff…

CMake 完整入门教程(一)

1 前言 每一次学习新东西都是很有乐趣的&#xff0c;虽然刚开始会花费时间用来学习&#xff0c;但是实践证明&#xff0c;虽然学习新东西可能会花费一些时间&#xff0c;但是它们带来的好处会远远超过这些花费的时间。学习新东西是值得的&#xff0c;也是很有乐趣的。 网络上…

六、Kotlin 类型进阶

1. 类的构造器 & init 代码块 1.1 主构造器 & 副构造器在使用时的注意事项 & 注解 JvmOverloads 推荐在类定义时为类提供一个主构造器&#xff1b; 在为类提供了主构造器的情况下&#xff0c;当再定义其他的副构造器时&#xff0c;要求副构造器必须调用到主构造器…

安全防御{第三次作业(在第二次作业上添加点需求)}

目录 需求&#xff1a; 拓扑图&#xff1a; 注意&#xff1a;先打开防火墙web界面&#xff0c;在此不做演示 1.要求一&#xff1a;&#xff0c;生产区在工作时间内可以访问服务器区&#xff0c;仅可以访问http服务器 2.要求二&#xff1a;办公区全天可以访问服务器区&#…

RISC-V RVWMO 内存模型解释

RISC-V RVWMO 内存模型解释 引言 本文介绍 RISC-V RVWMO 内存模型。RVWMO 内存模型定义了什么样的全局内存顺序才是合法的。本引言部分将解释为什么会出现不合法的全局内存顺序&#xff0c;以及为什么需要内存模型。 首先引起乱序的全局内存顺序&#xff08;指令重排序&…

静态分析C语言生成函数调用关系的利器——cally和egypt

大纲 准备工作安装graphviz安装cally安装egypt简单分析GCC产生RTL&#xff08;Register transfer language&#xff09;文件callyegypt总结 高级分析callyegypt 总结参考资料 在《静态分析C语言生成函数调用关系的利器——cflow》和《静态分析C语言生成函数调用关系的利器——c…

What is `@Scheduled` does?

Scheduled 是Spring框架中用于定时任务调度的注解&#xff0c;它允许我们在类的方法上声明一个方法作为定时任务&#xff0c;由Spring容器统一管理和执行。使用此注解后&#xff0c;Spring会根据注解中的属性配置&#xff0c;按照指定的时间规则自动调用该方法。 public class…

网络编程小总结

【一】网络编程 互联网的本质就是一些网络协议 【1】网络开发架构 &#xff08; 1 &#xff09; C / S 架构 C : client &#xff08;客户端&#xff09; S: server (服务端) APP - 就是服务端 C/S 架构通过客户端软件和服务器之间的交互&#xff0c;实现了前端界面和后…

项目部署上线过程

写在前面 你应该去喜欢那些&#xff0c;让你觉得自己很美好&#xff0c;由衷感受到幸福的人&#xff0c;而不是那些让你卑微到尘埃里&#xff0c;让你觉得自己很没用的人。 …

【大数据】Flink 架构(一):系统架构

Flink 架构&#xff08;一&#xff09;&#xff1a;系统架构 1.Flink 组件1.1 JobManager1.2 ResourceManager1.3 TaskManager1.4 Dispatcher 2.应用部署2.1 框架模式2.2 库模式 3.任务执行4.高可用设置4.1 TaskManager 故障4.2 JobManager 故障 Flink 是一个用于状态化并行流处…

关于AOP的@Around特殊处理RequestBody的使用小结

目录 1. 概述 1.1 背景 1.2 源码 2. 测试 2.1 Controller 2.2 SpecialName配置 2.3 RequestConverter 2.4 测试 最近项目上遇到一个这样的需求&#xff1a;用户请求的时候传过来A&#xff0c;在api处理过程中要把A当成B去处理&#xff0c;但是返回的标识中又必须是A作为…

可以运行在浏览器的Windows 2000

Windows 2000 可以在浏览器里跑了&#xff0c;缺点就是速度慢。 JSLinux JSLinux 在浏览器中运行 Linux 或其他操作系统&#xff01; 可以使用以下仿真系统&#xff1a; 中央处理器操作系统用户 界面VF同步 访问启动 链接TEMU 配置评论x86阿尔派Linux 3.12.0安慰是的点击这…

数据处理方法—— 7 种数据降维操作 !!

文章目录 数据降维 1. 主成分分析&#xff08;PCA&#xff09; 2. 线性判别分析&#xff08;LDA&#xff09; 3. t-分布随机邻域嵌入&#xff08;t-SNE&#xff09; 4. 局部线性嵌入&#xff08;LLE) 5. 多维缩放&#xff08;MDS) 6. 奇异值分解&#xff08;SVD) 7. 自动编码器…