【Linux】Linux 权限和权限管理

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录

Linux权限的概念

权限是用来限制人的权限=人+事物属性
权限存在的意义是便于系统安全管理的

Linux下有两种用户超级用户root、普通用户。

  • 超级用户可以再linux系统下几乎可以做任何事情不受限制
  • 普通用户在linux下做有限的事情。
  • 超级用户的命令提示符是“#”普通用户的命令提示符是“$”。

命令su [用户名]
功能切换用户。
例如要从root用户切换到普通用户user则使用 su user。 要从普通用户user切换到root用户则使用 su
rootroot可以省略此时系统会提示输入root用户的口令
在这里插入图片描述

Linux权限管理

文件访问者的分类人

文件和文件目录的所有者u---User
文件和文件目录的所有者所在的组的用户g---Group
其它用户:o---Others
在这里插入图片描述

文件类型和访问权限事物属性)

文件可以有的属性是读写运行
文件=内容+属性
在这里插入图片描述
在Linux中文件名的后缀只是给人看的并没有去什么实质性的作用是文件名的一部分。
而文件类型是用上面图片最前面的字符来区分
文件类型
只有前两个是我们经常看到的

  • d文件夹目录
  • -普通文件文本可执行归档压缩文件等
  • l软链接类似Windows的快捷方式
  • b块设备文件例如硬盘、光驱等
  • p管道文件
  • c字符设备文件例如屏幕等串口设备
  • s套接口文件

超级用户和普通用户之间的切换
在这里插入图片描述
上面图片演示的就是将超级用户与普通用户之间切换
在这里介绍一下susu -的区别su就是在用一个bash下进行身份切换su -让我们的root重新登录。
在这里插入图片描述
当我们在进行普通用户和普通用户之间互相切换时会发现没有权限需要知道另一个用户的密码但是当我们有root的权限时也就是有root的密码时是可以切换到另一个用户的先切换到root然后在切换到另一个普通用户。

在上面讨论文件类型的时候看的是文本行的第一个字符我们会发现后面还有九个字符接下来我们就来讨论剩下的九个字符的意义。这九个字符按顺序三三为一组前三个是拥有者的权限中间三个是所属组的权限后三个是other的权限。在下面介绍的也就是r、w、x、-的意思。

  • 读r/4Read对文件而言具有读取文件内容的权限;对目录来说具有浏览该目录信息的权限
  • 写w/2Write对文件而言具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  • 执行x/1execute对文件而言具有执行文件的权限;对目录来说具有进入目录的权限
  • “—”表示不具有该项权限
    在这里插入图片描述
    就例如上面图片对dir目录的权限对拥有者的也就是root的权限是可读、可写、可执行。对所属组的权限是可读、不可写、可执行。对other的权限是可读、不可写、可执行。

如何更改文件的权限
上面也是介绍过权限=人+事件属性.
所以如果想要更改文件的权限要么改变所有者要么改变文件的属性。
下面就进行修改文件权限的介绍这只能在拥有者root的情况下进行。
在文件属性的文本行第一个是文件类型而我们就是用过后就个字符来改变文件权限用过使用chmod、chown、chgrp。
修改拥有者的权限
chmod

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

  • R -> 递归修改目录文件的权限
  • 说明只有文件的拥有者和root才可以改变文件的权限
    ① 用户表示符+/-=权限字符
    +:向权限范围增加权限代号所表示的权限
    -:向权限范围取消权限代号所表示的权限
    =:向权限范围赋予权限代号所表示的权限
    用户符号
    u拥有者
    g拥有者同组用
    o其它用户
    a所有用户
    示例如下
    在这里插入图片描述
    修改权限不只是上面的一种写法也可以使用八进制数值表示法三个数为一组我们把是-的看作成零不是的看做成一就这样组成三个数的二进制再将二进制转换为八进制也就是我们想要的结果。
    当我们想要所有的权限都关上的时候就可以使用chmod 000 [文件名],虽然是全部关上了但是也就只对普通用户有作用当我们用超级用户时还是有权限。全部打开权限chmod 777 [文件名]
    在这里插入图片描述

在这里插入图片描述
chown
功能修改文件的拥有者
格式chown [参数] 用户名 文件名
实例
修改拥有者sudo chown root text.c 或者在root下使用chown root text.c
也可以既修改拥有者又修改所属组sudo chown root:root text.c

chgrp
功能修改文件或目录的所属组
格式chgrp [参数] 用户组名 文件名
常用选项-R 递归修改文件或目录的所属组
实例
修改拥有者sudo chgrp root text.c 或者在root下使用chgrp root text.c
chown和chgrp在直接使用时会发现不被允许这是就需要root介入了使用sudo或者在root路径下。

目录权限

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

默认权限

首先提出的问题就是为什么创建的文件的默认权限是664还有创建的目录时默认权限是775?
不同的操作系统默认的权限可能会不一样
在这里插入图片描述
在这里插入图片描述

粘滞位

背景在使用Linux的时候未来可能会有一些共享目录被所有的普通用户共享用来保存普通用户产生的临时数据。
共享目录通常都是root提供的。
粘滞位是在为了让大家共享文件并且不让其他人随便删除别人的文件的环境下产生的。
粘滞位是只能给目录添加之后成为共享目录。
下面图片就是添加粘滞位的前后对比
在这里插入图片描述
在特定的目录下创建或删除文件需要有该目录的W权限决定。
所以也就是w也能保证文件不被删除但是当我们把other当中的w去掉的话那么共享文件也就不能在创建新的文件了所以就必须要使用粘滞位。
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

关于权限的总结

  • 目录的可执行权限是表示你可否在目录下执行命令。
  • 如果目录没有-x权限则无法对目录执行任何命令甚至无法cd 进入目, 即使目录仍然有-r 读权限这
    个地方很容易犯错认为有读权限就可以进入目录读取目录下的文件
  • 而如果目录具有-x权限但没有-r权限则用户可以执行命令可以cd进入目录。但由于没有目录的读权限。
  • 所以在目录下即使可以执行ls命令但仍然没有权限读出目录下的文档。
最后文章有什么不对的地方或者有什么更好的写法欢迎大家在评论区指出
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux