Linux的基本权限

1.权限的概念

权限使用来限制人的,访问的对象没有某种天然的属性。所以权限=人+事物属性

2.Linux上的用户分类

Linux下有两种用户:root用户(超级用户)、普通用户

  • 超级用户:可以在Linux下做任何事情
  • 普通用户:在Linux下做有限的事情
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

2.1. 如何切换用户?

在这里插入图片描述

3.Linux的权限管理

3.1. 文件访问者的分类(人)

  • 文件和文件目录的所有者:u——user
  • 文件和文件目录的所有者所在的的组的用户:g——group
  • 其他用户:o——other

为什么要有所属组的概念:
答:因为在一个公司中,一个项目可分成多个小组来做,一个人写的文件自己能看的同时,也需要给组内成员看,但是不能给组外成员看。如果没有所属组的概念,将文件权限开放给other用户,不仅仅组内成员能看,组外的成员也都能看了。

3.2.文件类型和访问权限(文件属性)

在这里插入图片描述

3.2.1. 文件类型

在这里插入图片描述

3.2.2. 基本权限

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

3.3. 文件权限值的表示方法

3.3.1. 字符表示法

在这里插入图片描述

3.3.2. 8进制数值表示法

在这里插入图片描述

3.3.3. 如何描述一个文件的权限

拥有者:是否具有读+是否具有写+是否具有运行的权限

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

3.4.1. 修改文件权限(对文件属性)

命令:chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:

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

在这里插入图片描述

在这里插入图片描述

3.4.2. 修改文件的拥有者

在这里插入图片描述

3.4.3. 修改文件的所属组

在这里插入图片描述

3.5. 默认权限

3.5.1. umask指令

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

格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
在这里插入图片描述

3.5.2. file指令

在这里插入图片描述

3.6. 目录权限

  • 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
  • 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

于是, 问题来了~~
换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.
为了解决这个不科学的问题, Linux引入了粘滞位的概念.

3.7. 粘滞位

在这里插入图片描述

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除

猜你喜欢

转载自blog.csdn.net/zxj20041003/article/details/130666306