shell运行原理、权限

一、shell运行原理

1、简介

Linux严格意义上说的是一个操作系统,我们称之为核心(kernel),但一般用户,不能直接使用kernel,而是通过kernel的外壳程序,即shell,来与kernel进行交互。

2、shell的简单定义

shell可以说是命令行解释器(command Interpreter),它的主要作用是将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。

3、外壳程序的意义

  • 用户和操作系统进行交互的中间软件层。
  • 在一定程度上,起到保护操作系统的作用。
  • 降低用户的操作成本。

4、简易示例图

在这里插入图片描述

二、Linux下的两种用户

  • 超级用户:在Linux系统中只有一个,具有Linux下的最高权限,一般不受权限约束。命令提示符是 “ # ”。
  • 普通用户:在Linux系统中可以有多个,受权限约束。命令提示符是 “ $ ”。

三、whoami命令

1、功能

显示当前用户的用户名。

四、su命令

1、功能

切换用户。

2、用法

su [用户名]

3、示例

  • su :切换为root用户且当前工作目录不变。
  • su - :切换为root用户且当前工作目录切换为root的家目录。
  • su name:切换为用户名为name的用户。

五、Linux权限管理

1、文件归属

  • 文件或目录的所有者:u — User。
  • 文件或目录所有者所在的组:g—Group。
  • 其它:o—Others。

2、文件权限图

在这里插入图片描述

3、文件类型

  • 如上图ll显示的,第一列的第一个字符,即标号1所圈中的,表明文件的文件类型,分类如下。
  • d :文件夹(目录)。
  • – :普通文件。
  • p :管道文件。
  • b :块设备文件,如硬盘、光驱等。
  • c :字符设备文件,如屏幕等串口设备。
  • l :软链接,类似于Windows系统下的快捷方式。
  • s :套接口文件。

4、文件名后缀

如上图中的标号5所圈中的,在Linux下,不以文件名的后缀区分文件类型,但也不代表不可以使用文件名后缀,即文件名后缀在系统层面上是没有意义的,只是给用户自己看的。

5、文件权限

(1)概念

如上图中的标号2所圈中的,第2-10位是文件的权限。权限组的前3位是文件所有者的权限,权限组的中间3位是文件所属用户组的权限,权限组的后3位是其他用户的权限。

(2)rwx-代表的意义

  • r(4) :Read对于文件而言,具有读取文件内容的权限,对于目录来说,具有浏览该目录信息的权限,在权限组的第一位。
  • w(2) :Write对于文件而言,具有修改文件内容的权限,对于目录来说,具有创建、删除和移动目录内文件的权限,在权限组的第二位。
  • x(1) :execute对于文件而言,具有执行文件的权限,对于目录来说,具有进入目录的权限,在权限组的第三位。
  • – :表示不具有该项权限。

6、文件的归属

如上图中的标号3所圈中的是文件的所有者,标号4所圈中的是文件的所属组,若用户不属于这两种,则它对于该文件来说是其他。

六、chmod指令

1、功能

设置文件的访问权限

2、格式

chmod [参数] 权限 文件名

3、权限修改格式

(1)用户表示符+/-=权限字符

  • +. :向权限范围增加权限代号所表示的权限。
  • -. :向权限范围取消权限代号所表示的权限。
  • = :向权限范围赋予权限代号所表示的权限。

(2)属性符号

  • u :所有者。
  • g :所有者所属组。
  • o :其它。
  • a :所有。

(3)示例

在这里插入图片描述

七、chown指令与chgrp指令

1、chown指令

(1)功能

修改文件的所有者。

(2)格式

chown [参数] 用户名 文件名

2、chgrp指令

(1)功能

修改文件或目录的所属组。

(2)格式

chgrp [参数] 用户组名 文件名

3、示例

在这里插入图片描述

八、umask指令

1、功能

  • 查看或修改文件掩码。
  • 新建文件默认权限是0666,新建目录默认权限是0777。但实际上我们所创建的文件和目录的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。
  • 假设默认权限是mask,则实际创建的出来的文件/目录权限是mask & ~umask的结果。

2、格式

umask 权限值

3、示例

在这里插入图片描述

九、粘滞位

1、引入

对于一个目录,只要用户具有该目录的写权限,用户就可以删除该目录中的文件,而不论这个用户是否有这个文件的写权限。也就是说,在一个所有人都具有写权限的目录里(前提是能进入该目录),我可以随意删除目录里面的文件。而要避免这种情况,则要使用粘滞位。

2、语法

chmod +t 目录名

3、示例

在这里插入图片描述

4、目录被设置为粘滞位时,能删除该目录下文件的用户

  • 超级管理员
  • 该目录的所有者
  • 该文件的所有者

本文到这里就结束了,如有错误或者不清楚的地方欢迎评论或者私信
创作不易,如果觉得博主写得不错,请务必点赞、收藏加关注💕💕💕

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值