👀1.首先我们必须了解到的两个知识点
1.大部分指令都是文件
2.用户执行某种功能时候,不是直接让操作系统执行对应的指令,而是交给外壳程序.
这里提到了一个叫外壳程序的,他是什么呢?
答:他是一个介于用户和操作系统之间的软件,命令行解释器.他的作用是将使用者的命令翻译给核(操作系统)处理。同时,将核心的处理结果翻译给使用者.
为了更清楚的解释操作系统,外壳程序,和用户的关系,就比如说张三就是用户,然后小美(操作系统)是你们村村花,然后张三喜欢小美,可是张三是程序员呀,他不擅长和小美打交道,所以就去村头的王婆(外壳程序),希望王婆出马来撮合张三和小美,相当于用户给外壳程序一个请求命令,然后通过外壳程序将请求指令告诉操作系统.当王婆把你喜欢小美的事情给小美告诉之后,小美给王婆说:我不喜欢张三.也就是操作系统无法执行,报错信息给外壳程序,然后外壳程序提示用户执行失败.这里就是王婆得知小美不喜欢张三,然后告诉张三的过程.然后张三不死心,让王婆再去找小美试试,然后发现小美已经和村东头的小帅好上了,人家都在一起吃饭了,然后张三成joker了.王婆回去将此事情告诉了张三.叫他不要去打扰人家小美了.
从上面这个故事得知为什么张三不自己找小美?王婆的存在又有什么用?
答:用户不善于与操作系统之间交互.shell外壳的存在,可以对请求进行合法性的检查,变相的保护了操作系统。
还有一个问题,你是不是认为村里所有的说媒都是王婆搞呢?
其实王婆也有自己的工作室的,王婆会安排实习生,然后王婆就可以干自己的事情了。王婆就会干一些简单的活,苦活累活都交给实习生,其实本质上是bash创建一个子进程,帮助用户进行命令行解释,bash只需要等待就行了.
👀 2.linux权限:
1.什么是权限?
就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源,有无,或者是能不能的问题!
比方说:vip会员,以及门禁
带vip的南山南就拦住我了.
2.权限的本质?
权限与人有关
权限和事物的属性有关
权限=人+事物的属性
这句话应该怎么理解???
假如说我有qq音乐的会员,是用我的微信绑定的,我就扮演着会员的角色,并且我开的是qq音乐的会员而不是爱奇艺的会员,qq音乐的会员看不了爱奇艺的会员栏目,这就是权限需要事物的属性.
3.linux中的用户
如何互相身份切换呢??
普通用户->root
root用户->普通用户
发现只需要su +用户名 就行了
当我不想直接变成root时,但是就想以root的身份执行一个工作时??
root到普通用户也可以也可以用输入ctrl+d或者exit.
普通用户A->普通用户B
注意: 当用户是root时,命令行提示符是# ,当是普通用户时,命令行提示符是$.
👀3.linux中文件的权限
01.文件访问者的分类(人)
文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户:g—Group
其它用户:o—Others
为什么要有上述的三种角色呢??
02.文件类型和访问权限(事物属性)
文件类型
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
基本权限
i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
iv.“—”表示不具有该项权限
文件权限值的表示方法
字符表示方法
8进制数值表示方法
👀4. chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限文件名常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
+:向权限范围增加权限代号所表示的权限-:向权限范围取消权限代号所表示的权限=:向权限范围赋予权限代号所表示的权限用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
通过修改八进制数字修改权限
👀5.chown
功能:修改文件的拥有者
格式:chown [参数] 用户名文件名实例:
我们发现普通用户无法更改文件的拥有者,我们必须切换到root用户下
我们修改这个文件的拥有者改为zhangsan
成功修改成zhangsan
👀 6.chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名文件名
常用选项:-R 递归修改文件或目录的所属组实例:
发现修改所属组,普通用户也不行,切换到root试试。
修改文件up.c的所属组为zhangsan.
修改成功.
👀7.文件掩码
d)umask
功能:
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。
格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
为什么一个新目录的权限是775 ,而不是777
为什么一个新的普通文件权限是664 ,而不是666呢?
这是因为有文件掩码。
假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
出来实际的权限就是775.
👀8. 查看文件掩码
👀9.目录的权限
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
1.我们对下面的目录进行操作
2.去掉拥有者的读权限
3.发现不能查看目录下的文件内容了
4.还原读权限
5.删除写权限
6.发现无法在该目录下创建新文件
7.还原写权限
8.删除执行权限,发现无法cd 进入该目录