Linux权限

193 阅读3分钟

权限的概念

在linux下有两种用户 root和非root 权限这个概念拿出来就是用来限制非root用户的 在这里插入图片描述

su命令

语法: su 用户名
功能: 切换当前用户 在这里插入图片描述

sudo 命令

语法: sudo 指令
功能: 指令提权 当一个非root用户想执行root权限时 在指令前加上sudo即可 也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

Linux权限管理

Linux文件访问者分类

在这里插入图片描述

Linux将文件的访问者分为三类 u/g/o 对于文件和目录来说 u/g/o 就是由root用户和f非root账号扮演的 通过ll命令查看文件的详细信息 在这里插入图片描述

文件类型

在这里插入图片描述 在这里插入图片描述 详细信息第一个字符就是文件类型

文件访问权限

在这里插入图片描述 在这里插入图片描述 九个字符三个为一组 分别代表文件拥有者权限 所属组和other权限 什么目录中拥有者的权限为rwx(可读 可写 可执行) 所属组的权限为rwx(可读 可写 可执行) other权限为r-x(可读 不可写 可执行)

文件权值表示方法

字符表示法

Linux表示说明
r - -只读
- - x可执行
- w -可写
- w x可写可执行
r - x可读可执行
r w -可读可写
r w x可读可写可执行
- - -无任何权限

八进制表示法

Linux表示八进制二进制
r - -4100
- - x1001
- w -2010
- w x3011
r - x5101
r w -6110
r w x7111
- - -0000

文件权限设置

chmod命令

语法: chmod 选项 权限 文件名
功能: 设置文件访问权限 chomd命令权限格式 1:用户表示符+/-/=权限字符

  • +:增加权限
  • -:取消权限
  • =:赋予权限
  • u :拥有者
  • g:所属组
  • o:其他用户
  • a:所有用户 例如 在这里插入图片描述 在这里插入图片描述设置不同类用户的权限 用逗号隔开 2:三位八进制数字

在这里插入图片描述

改变文件拥有者

语法: chown 选项 用户名
功能: 修改文件的 拥有者 常用选项 : -R 递归式修该 在这里插入图片描述

在这里插入图片描述

改变文件所属组

语法: chgrp 选项 用户名
功能: 修改文件的所属组 常用选项 : -R 递归式修该 在这里插入图片描述

umask

语法: umsak 权值
功能: 查看或修改文件掩码 在新建一个文件/目录是 文件的默认权限是0666 目录的默认权限是0777 但是实际上所创建的文件和目录不是这个值 原因就是创建文件或目录的时候还受umask的影响.假设一个文件/目录默认权值是x ,则实际创建的文件/目录的权值是:x & ~ umask

在进行计算时只研究后三位即可 第一位不用管 在这里插入图片描述 rwx r-x r-x 就是新建目录的权限

在这里插入图片描述 在这里插入图片描述 root用户的默认权值是0022 非root用户的默认权值是0002

目录权限

  • 可读权限 r 如果目录没有x权限 则无法用ls查看目录中的文件内容
  • 可写权限 w 如果目录没有w权限 则无法在目录中新建和删除文件
  • 可执行权限 x 如果目录没有x权限 则无法cd到目录中 只要用户具有目录的写权限 用户就可以删除目录中的文件 而不论这个用户是否有这个文件的写权限 比如 张三创建了一个文件 可以被李四删掉 显然不合理 在这里插入图片描述 root创建的文件被非root用户删除了 文件并没有给非root的写权限 这并不科学 解决这个问题 Linux引入了粘滞位

粘滞位

给目录文件中的other用户设置的一个权限位 具有权限x的全部属性同时对目录权限进行进一步限定 当一个目录设置位粘滞位时 则该目录下的文件只能由 1、root进行删除 2、该目录的拥有者删除 3、该文件的拥有者删除 在这里插入图片描述