【Linux】运行原理与权限

目录

一、Linux运行原理

二、权限

2.1 文件访问人

2.2 文件类型

2.3 基本权限

2.4 文件权限的表示方法

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

2.6 修改所属组/拥有人

2.7 umask

三、 粘滞位

四、权限总结


一、Linux运行原理

Linux严格意义上说是一个操作系统,我们称之为”核心(kernel)“,但我们一般用户,不能直接使用kernel。而是通过 kernel 的"外壳"程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,shell 的最简单定义:命令行解释器。其功能包括

  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心的处理结果翻译给使用者。

对比Window GUI,我们操作的windows不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符,或者运行一个应用程序)。

shell 对于Linux,有同样的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

外壳程序的意义:

  1. 是用户在操作系统交互的中间软件层
  2. 可以在一定程序中起到保护操作系统的作用

二、权限

2.1 文件访问人

  • root: 只有一个,具有Linux下最高权限(一般不受权限的约束)。
  • 普通用户: 可以有多个,要受权限的约束。

两者直接的切换:

2.2 文件类型

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件 (例如硬盘、光驱等)

p:管道文件

c:字符设备文件 (例如屏幕等串口设备)

s:套接口文件

2.3 基本权限

  1.  读 (r/4) : Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录信息的权限。
  2.  写(w/2) : Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
  3. 执行(x/1): Execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
  4.  " - " 表示不具有该权限

2.4 文件权限的表示方法

① 字符表示方法

②8进制数值表示方法

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

 chmod

 功能:设置文件的访问权限

 格式:chmod [参数] 权限 文件名

 常用选项:

  • R --> 递归修改目录文件的权限
  • 说明:只有文件的拥有者和root才可以改变文件的权限

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

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

用户符号:

  • u:拥有者
  • g:拥有者所属组
  • o:其它用户
  • a:所有用户 示例:
  • chmod u+w /home/abc.txt    //user拥有者添加abc.txt的写权限
  • chmod o-x /home/abc.txt     //other用户除去abc.txt的执行权限

② 三位8进制数字

  • chmod 664 /home/abc.txt                #other拥有读写权限,所属组拥有读写权限,other拥有读权限
  • chmod 640 /home/abc.txt                #other拥有读写权限,所属组拥有读权限,other无权限

2.6 修改所属组/拥有人

① chown

功能:修改文件拥有者

格式:chown [参数] 用户名 文件名

常用选项: -R 递归修改文件或目录的所属组

举例:

  • chown user1 f1
  • chown -R user1 filegroup1

② chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

常用选项: -R 递归修改文件或目录的所属组


注意:

  • 进入一个目录,需要 x 权限(可执行)权限。
  • 查看目录下的文件列表需要 r (读)权限
  • 目录下创建和删除文件或目录需要 (w) 权限

2.7 umask

功能: 

查看或修改文件掩码

Linux下新建文件夹默认权限为 0666

          新建目录的默认权限是 0777

但实际上所创建的文件或目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask 的影响。假设默认权限是 mask ,则实际创建出来的文件权限是:

mask& (~umask)

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。root默认掩码值为0022,普通用户默认为0002.

举例:

  • umask 755
  • umask  #查看
  • umask 044 //设置umask

例题:

解析:


三、 粘滞位

在上面的学习中我们了解到,一个用户只要具有该目录的写权限,用户就可以删除掉目录中的文件,而不论这个用户是否有这个文件的写权限。

所以引入了粘滞位这个概念,当一个目录被设置位"粘滞位"(chmod + t),则该目录下的文件只能由以下三种身份删除,以此来针对其他用户。

一、root用户删除

二、该目录的所有者删除

三、该文件的所有者删除

语法:chmod +t 文件名/目录


四、权限总结

  • 目录的可执行权限是表示你可否在目录下执行命令。
  • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目录,即使目录仍然有 -r 读权限(这个地方容易犯错,认为有读权限就可以进入目录读取目录下的文件)
  • 而目录具有 -x权限,但没有 -r 权限,则用户可以执行命令,可以 cd 进入目录。但由于没有目录的读权限,所以在目录下,即使执行 ls 命令,但仍然没有权限读出目录下的文档。 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brant_zero2022

素材免费分享不求打赏,只求关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值