【Linux】Linux权限,shell命令以及运行原理(下)

简介: 之前我们一直敲得命令和口口声声说的shell到底是什么呢?命令行提示符和输入的指令并且可以执行都是通过命令行解释器来实现的,那么命令行解释器就是我们常说的shell,具体我们看下面!

2.怎么阅读权限

我们知道文件权限=角色(拥有者,所属组,其他)+文件属性(r,w,x)

所以:9个字符分为三组,解释就是这个文件的拥有者具有读写可执行权限,所属组有读,可执行权限,其他人有读和可执行权限。


写了这两个,剩下的就是其他。

3.怎么操作权限

权限=角色+属性,那无非就是操作这两个元素:


角色:u(拥有者),g(所属组),o(其他人)。文件是具体用户创建,就会赋予人身份,root创建的文件,那么拥有者就是root,但都是可以修改的。


那么增减一个人的一个权限:chmod  角色+权限  文件名(目录名)

多个人的权限统一修改:chomd  a+/- 权限  文件或者目录名

对角色进行操作:


修改拥有者和所属组对应的人:


如果你修改用户,必须征得对方的同意,但root不受权限限制,可以直接修改,所以一般修改用户都要提权命令。


拥有者:sudo chown XXX  目录/文件名


所属组:sudo chgrp XXX   目录/文件名


一起修改:sudo chown XXX:XXX  目录/文件名


操作权限还可以用8进制来修改:

4.为什么有权限

当然是因为多用户操作系统,便于系统进行安全管理。


那为什么刚被创建出来的文件权限是我们看到的样子?

       

             这就提到了umask权限掩码      


umask权限掩码      

linux规定,目录的起始权限是 777;普通文件的起始权限是 666;


但是系统规定:系统会默认配置好umask权限掩码,凡是在umask中出现的权限,都必须在起始权限中去掉。怎么个事儿?来看:

 

 去掉的规则是:最终权限=起始权限&(~umask)

umask: 000 000 010 (1代表有这个权限)

~umask: 111 111 101( 0代表没有这个权限)

与起始权限相与,就会把umask中有的权限去掉。                    

如果我们要进入一个目录,需要什么权限呢?


对!只需要x权限。 r是读取目录的列表;w是在目录中操作;x对于目录就是可进入


所有的目录被创建出来都会有x权限(可进入)


粘滞位

在linux系统中,会由root创建一个公共目录去存放各自的临时文件(tmp)。


但在这个目录中的文件是可以被随便删除的(因为文件是否可以被删除是由他在的这个目录的权限决定的),所以为了防止互相删除,就出现了粘滞位。


粘滞位:chmod +t 目录名  就会变为 rwt  (操作仅针对目录)


总结:

shell的运行原理和权限想必大家都已经了解了吧!可以课后操作命令去练习,加深印象,我们下期再见!


文章知识点与官方知识档案匹配,可进一步学习相关知识

目录
相关文章
|
24天前
|
机器学习/深度学习 人工智能 Ubuntu
|
28天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
58 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
1月前
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
310 1
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
1月前
|
Shell 知识图谱
Shell printf 命令
10月更文挑战第3天
16 1
|
1月前
|
Shell PHP
Shell echo命令
10月更文挑战第3天
16 0
|
1月前
|
JSON Java Shell
Dockerfile中RUN、CMD、ENTRYPOINT、SHELL命令的区别
理解这些指令的差异和应用场景,有助于构建高效、灵活且易于管理的Docker镜像。在实际应用中,根据需要选择合适的指令,可以有效地控制镜像构建和容器运行的行为。
124 0
|
1月前
|
SQL Shell 数据库
在TDengine容器中创建初始化数据库的Shell命令实例
以上就是在Docker容器环境中部署并初始化TDengine数据库的全过程,希望对你有所帮助。
45 0
|
4月前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
4月前
|
Linux
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
|
4月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的