【Linux篇<Day10>】——权限详解


【Linux篇<Day10>】——权限详解_第1张图片

一份微语报,众览天下事!
【今日要闻】
非洲多国航空燃油短缺
【今日微语】
强者往往孤独

让我们进入今天的学习吧!
Keep  trying

在这里插入图片描述

文章目录

  • ✈️一、基本权限和归属
    • 1.1 访问权限
    • 1.2 三种权限对应的命令
    • 1.3 归属关系
    • 1.4 解析文件\目录权限信息
    • 1.5 如何判断一个用户对文件/目录的权限
    • 1.6 设置(修改)基本权限
    • 1.7 权限的八进制表示
    • 1.8 文件/目录的默认权限
    • 1.9 修改归属关系
  • ️二、ACL策略概述
    • 2.1 ACL策略的作用
    • 2.2 设置ACL权限
    • 2.3 ACL策略黑名单的使用
  • ️三、附加权限
    • 3.1 特殊权限的作用
    • 3.2 特殊权限分类
      • 3.2.1 Sticky Bit概述
      • 3.2.2 Set GID概述
      • 3.2.3 Set UID概述

在这里插入图片描述

✈️一、基本权限和归属

1.1 访问权限

  • 读取:允许查看内容——read
  • 写入:允许修改内容——write
  • 可执行:允许运行和切换——excute

1.2 三种权限对应的命令

  • 对于文本文件

    • r权限:cat、less、tail、head、grep、vim
    • w权限:>、>>、echo、vim(只有能保存并退出时才证明有写权限)
    • x权限:多用于Shell和Python
  • 对于目录

    • r权限:ls查看目录内容
    • w权限:能够创建、删除、修改目录内容
    • x权限:cd到此目录下

1.3 归属关系

  • 所有者:拥有此文件/目录的用户——user
  • 所属组:拥有此文件/目录的组——group
  • 其他人:除所有者和所属组以外的其他人——other

1.4 解析文件\目录权限信息

ls -l查看文件:
【Linux篇<Day10>】——权限详解_第2张图片
权限位解读:
【Linux篇<Day10>】——权限详解_第3张图片
最开头的字符:-代表文件;d代表目录;l代表链接

1.5 如何判断一个用户对文件/目录的权限

第一步:查看用户对于该文件/目录的身份
注意:Linux系统确认身份时,有一个匹配顺序,所有者>所属组>其他人,从左到右匹配,满足则停止,不再继续往下匹配,以第一次匹配到的作为用户对该文件的身份
第二步:查看该身份对应的权限

1.6 设置(修改)基本权限

使用chmod命令
格式:chmod [ugo] [+-=] [rwx] 文件名
【Linux篇<Day10>】——权限详解_第4张图片

常用子选项
-R:递归修改权限,目录下的目录及文件全部修改

注意:

  • 同时修改ugo里面的多个时,要用逗号隔开
  • 当一个目录对其他人有w权限时,背景色会变为绿色,比如/tmp
  • a=ugo,代表三类的集合
  • u=- - - /u=-:代表无权限
    【Linux篇<Day10>】——权限详解_第5张图片

1.7 权限的八进制表示

【Linux篇<Day10>】——权限详解_第6张图片
最高权限为777,设置权限的时候可以直接用数字来代替字母
【Linux篇<Day10>】——权限详解_第7张图片

1.8 文件/目录的默认权限

  • 一般文件下不给执行权限
  • 其他取决于umask(权限掩码)设置,umask默认为022
  • 新建目录默认权限为755
  • 新建文件默认权限为644
    其实就是最高权限777减去umask,但文件不给x权限,所以少1

1.9 修改归属关系

使用chmod命令

  • 修改所有者和所属组:
    chown 所有者:所属组 文件
    【Linux篇<Day10>】——权限详解_第8张图片

  • 修改所有者:chown 所有者 文件
    【Linux篇<Day10>】——权限详解_第9张图片

  • 修改所属组:chown :所属组 文件
    【Linux篇<Day10>】——权限详解_第10张图片

  • -R:递归修改,会把目录里面的目录和文件的归属一并修改

️二、ACL策略概述

2.1 ACL策略的作用

  用于文档归属的局限性,任何人只有三种角色,无法实现更加精细的控制。当我们想要对个别用户、个别组设置独立的权限时,我们就需要用到ACL策略了。

2.2 设置ACL权限

使用setfacl命令
格式:

  • setfacl [选项] u:用户名:权限 文件…
  • setfacl [选项] g:组名:权限 文件…
  • getfacl 文件:查看文档的ACL策略
    【Linux篇<Day10>】——权限详解_第11张图片

常用选项

  • -m:定义一条ACL策略
    当一个文档有了ACL策略后会显示+号
    【Linux篇<Day10>】——权限详解_第12张图片

  • -x:清除指定的ACL策略,无需再写:权限

  • -b:清除所有已设置的ACL策略,后面直接跟文件

  • -R:递归设置ACL策略

2.3 ACL策略黑名单的使用

单独拒绝某些用户
setfacl -m u:harry:- - - /opt/private
单独拒绝harry,对/opt/private文件没有任何权限
【Linux篇<Day10>】——权限详解_第13张图片

注意:设置ACL策略后,ls -lh所查看到的权限部分的所属组的权限会被权限掩码覆盖,所以会不准确,必须用getfacl查看才准确。

️三、附加权限

3.1 特殊权限的作用

叠加于权限位的ugo分组的x权限位上,用来传递程序执行身份,限制目录写入权。

3.2 特殊权限分类

【Linux篇<Day10>】——权限详解_第14张图片

3.2.1 Sticky Bit概述

粘滞位,Sticky Bit权限

  • 占用other的x权限位
  • 显示为t\T,取决于其他人是否有x权限
  • 适用于目录,用来限制用户滥用写入权限
  • 在设置了粘滞位的文件夹下,即使用户有了写入权,也不能删除、改名、修改内容其他用户的文档
    【Linux篇<Day10>】——权限详解_第15张图片

3.2.2 Set GID概述

SGID权限

  • 占用所属组的x权限位
  • 显示为s\S,取决于所属组是否有x权限
  • 对目录有效
  • 在一个具有SGID权限的目录下,新建的文档会自动继承此目录的所属组身份(设置SGID权限之前就创建的文件不受影响)

3.2.3 Set UID概述

SUID权限

  • 占用所有者的x权限位
  • 显示为s\S,取决于所有者是否有x权限
  • 仅对可执行程序有意义
  • 当其他用户执行带有GUID的程序时,具有此程序所有者的身份和相应权限

         回到顶部

在这里插入图片描述

你可能感兴趣的:(云计算系统学习,linux,权限)