Liunx权限管理

Liunx权限管理

一、Liunx用户

1.用户的分类

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

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

2.用户的切换

现在我们意识到了用户的区别,那么如何进行用户的切换呢,这就涉及到了一条指令,su
命令: su [用户名]
功能: 切换用户。
演示:

例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。
whoami可以显示当前用户

在这里插入图片描述

切换用户时会提示输入要切换用户的密码,与Windows下不同的是,liunx下输入密码什么都不会显示(Windows下会显示*)

3.用户的创建与删除

3.1 用户的创建

这里涉及到一个指令,adduser,比如说我想创建一个名为syz的用户,就可以使用命令adduser syz,当然,必须再root的情况下创建,或使用sudo对单条命令提权(如果sudo无法使用,可以查看3.3 sudo命令无法使用的解决办法)
在这里插入图片描述

3.2 用户的删除

删除用户,只需使用一个简单的命令userdel 用户名即可。如果需要将它留在系统上的文件也删除掉,使用userdel -r 用户名即可。

3.3 sudo命令无法使用的解决办法

sudo无法使用是因为当前用户没有相应的权限,解决办法如下。

使用指令su,切换为root用户,然后打开/etc/sudoers下的文件,即执行指令nano /etc/sudoers,假设用户名为syz,将syz ALL=(ALL) NOPASSWD: ALLsyz ALL=(ALL) ALL放入前者以后使用sudo命令无需输入密码,放入后者以后使用速冻命令需要输入当前用户的密码)放入文本的指定行,如下图所示,此处的内容在文本的最后十几行的样子,实在找不到放到最后一行也可以。
在这里插入图片描述

二、权限的概念

这里可以举个例子,比如说,我想在不充vip情况下在爱奇艺上看vip专属的影片,这是不可以的,因为我没有这方面的权限。那么我不看影片,我想在爱奇艺上写代码,这可以吗?当然也是不行的。这次倒不是因为我没有权限,而是爱奇艺这个“访问对象”本身就没有这种属性。第一次是人的问题,第二次是事物属性的问题。可以把权限简单理解成一件事情是否允许被“谁”操作(在例子中事情就对应这看vip影片和写代码)。而权限由两部分构成,一个是人,一个是事物属性(例子中就对应没有充vip的“我”和写代码这件事)。

在liunx中,可以把文件理解为事物,用户理解为人
权限的本质就是约束人的,这里需要再次强调,超级管理员root不受权限的约束

三、Liunx的文件属性

我们可以使用ll指令查询文件类型和文件属性,下面是指令的查询结果
在这里插入图片描述
文件拥有者又称文件所有者
最后面的三个并不难理解,这里需要注意的是,使用ll显示的内存是以字节为单位。

1.文件类型

与Windows不同的是,Liunx下不以文件的后缀名区分文件类型。可以看到,在刚刚那幅图中的第一大列(也就是文件属性那一列)共有10个字符,其中第一个字符就是专门用来显示文件类型的。(在图片中,可以看到有d-两种字符,d表示文件是一个目录,-表示文件是普通文件)
下面会罗列出文件类型,但只要理解前面两个就可以了,因为后面的不多见,有个印象即可

字符说明
d文件夹
-普通文件
l软链接(类似Windows的快捷方式)
b块设备文件(例如硬盘、光驱等)
p管道文件
c字符设备文件(例如屏幕等串口设备)
s套接口文件

2.角色划分

Liunx下共有三种角色划分,分别是文件拥有者,文件所属组,文件的other。文件的拥有者不难理解,谁创建了这个文件,这个文件的拥有者就是谁。文件的other也不难理解,一个用户,如果既不是文件拥有者,也不是文件所属组,那他就是文件的other。那么什么是文件所属组呢?可以用一种类比的方式理解,比如我创建了一个qq群,那么我就是这个群的群主,可以类比为文件的拥有者,这个群的群员就可以类比为文件所属组,那么不在我这个群的成员就是其他qq用户,也就类比为文件的other。这样将用户分为三类的方式大大提高了liunx的管理效率。

可以返回上面的图片观看文件拥有者和所属组,其他成员就都是other了

3.文件权限

这里我截取了一张图片放在下面。下面针对最前面的文件属性分析。在文件属性中,第一列的d就是文件类型,表明这是一个目录。后面九个字符三三为一组,分别表示文件拥有者的权限,文件所属组的权限,other的权限。每一组中,又有三个字符,按从左到右的顺序表示文件的读权限,写权限,执行权限(r表示读,w表示写,x表示执行,-表示对应位置不具备相应权限)。比如下面这张图,文件拥有者对应rwx,说明具有读权限,写权限,执行权限。文件所属组和文件other都对应着r-x,说明具有读权限,执行权限,不具备写权限。
在这里插入图片描述

i : 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
w : 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
x : 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
当然,root不受权限约束

文件的权限其实不难理解,下面针对目录的权限做个演示

  • 如果缺失了x权限,我们无法进入该目录
    在这里插入图片描述
  • 如果缺失了r权限,我们无法查看目录下的文件
    在这里插入图片描述
  • 如果缺失了w权限,我们无法在目录下创建文件
    在这里插入图片描述

4.如何修改权限

正如前面所诉,权限包括人和文件属性。那么这里的修改也就包括两部分。改变文件拥有者和所属组,改变文件权限

4.1 修改文件权限

这里需要介绍一个指令,chmod
chmod:

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

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

常用选项:

R -> 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

4.1.1 通过用户符号与权限字符修改文件权限

用户符号:

符号含义
u拥有者
g所属组
o其他用户
a所有用户

权限字符:

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

演示:

给test.txt文件的所有者增加执行权限,chmod u+x test.txt
在这里插入图片描述

取消test.txt文件的所属组的读权限,chmod g-r test.txt
在这里插入图片描述

使test.txt文件的other只具备写和执行权限,chmod o=wx test.txt
在这里插入图片描述

给所有用户增加读权限,chmod a+r test.txt
在这里插入图片描述
其中a+r可以简写为为+r

4.1.2 通过三个八进制位数字修改文件权限

我们可以将拥有权限记为1,无权限记为0,那么就有下面这张图。
在这里插入图片描述

这样,用户类型的权限就和三个8进制数字产生了一一对应的关系,我们就可以使用这个关系来修改数值。请看下面的演示

要求test.txt的拥有者具备读写执行权限,所属组只具备读权限,other不具备任何权限。chmod 740 test.txt
在这里插入图片描述

4.2 修改文件拥有者与所属组

4.2.1 修改文件拥有者

chown

功能: 修改文件的拥有者

格式: chown 用户名 文件名

演示:
在这里插入图片描述

4.2.2 修改文件所属组

chgrp

功能: 修改文件的所属组

格式: chgrp 用户名 文件名

演示:
在这里插入图片描述

四、粘滞位

背景: 在使用Liunx的时候,未来可能会有一些共享目录(共享目录一般由root创建),被所有用户共享,且开放rwx权限,大家可以在这样一个目录下交流协作。但是就有了一个问题,既然开放了w权限,那么所有的用户可以随意删除该目录下的文件和目录,如果有人不怀好心,删掉了别人的文件怎么办。基于这种背景,粘滞位就诞生了。

粘滞位的作用: 防止文件和目录被随意删除

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

演示:

先是给目录增加粘滞位
在这里插入图片描述
再切换一个用户,尝试删除文件
在这里插入图片描述
可以发现,文件无法被删除

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值