【Linux取经路】权限管理——还在因为没有权限而头疼?手把手教你修改权限(一)

简介: 【Linux取经路】权限管理——还在因为没有权限而头疼?手把手教你修改权限(一)

df75bb3c0a53459581bc3ec383aa444b.gif

  权限决定了一个人可以干什么和不可以干什么,它是一种限制,在日生活中大家也许或多或少都受到过权限的约束。


86437ea7ddc9415fa40025d64a7e8619.png

 同样,在Linux上也有权限的概念,Linux并不允许我们在上面为所欲为。为了限制我们的一些行为,Linux上对用户进行了分类。

📢用户分类

🔔Linux中用户分为两类

超级用户:也叫root,只有一个,可以在Linux系统下做任何事情,不受限制。

普通用户:可以有多个,在Linux下做有限的事情。

超级用户和普通用之间可以进行切换,普通用户在执行某些操作时如果受限了,可以切换成超级用户,再去执行前面的操作,说不定就成功了。

🔔用户切换:

  • 命令:su [用户名]
  • 根据用户分类,用户切换可分为:普通用户切换成超级用户、超级用户切换成普通用户、普通用户A切换成普通用户B。接下来就让我们看看它们之间的切换细节。

🎊普通用户切换成超级用户


47fc902485ff471e8c51fb0792d14d34.png

如上图,当前我是一个普通用户,用户名是wcy,此时我希望切换成超级用户,直接输入su指令然后点击回车,提示我们要输入密码,注意,这里应该输入root用户的密码(输密码时没有回显),输入正确的密码后就成功地切换成root用户啦!


3ba155a25a98414bb20eb44d6de78b4e.png

注意:上述操作仅仅只是对用户身份进行了切换,不改变当前所处路径,如上图,身份切换前后都处在wcy用户的家目录。此时如果想再切换成wcy用户,只需要输入exit指令或者Ctrl+d。


64e7b84fefde4b4bad04772a98219f1d.png

小Tips:不知道大家有没有注意到,root用户的命令行提示符是#,普通用户的命令行提示符是$。

 从一个普通用户切换成超级用户,除了上面的su指令外,还可以用su -指令。它们的区别是:前者仅是对身份的切换,不改变当前所处路径,而后者则是以重新登录的方式切换成超级用户,此时不仅完成了身份切换,并且当前所处的路径也变成了root用户的家目录。


62d7ce5d66054fcdb70bfb3a190e5cc8.png

🎊超级用户切换成普通用户


1e30a73fe53a4b71b351661c2ac9ef9f.png

在root身份下,直接输入su 普通用户名指令,就可以随意切换成任意一个普通用户,无需输入任何密码。切换后路径不变。

🎊普通用户A切换成普通用户B


984af06198664ae485577c403570498b.png

从普通用户A切换的普通用户B需要输入B用户的密码。

🎊对一条指令进行短暂提权

除了上述的三种身份切换,普通用户还可以通过sudo 要提权的指令对sudo后面跟的指令进行提权,目的是以超级用户的身份去执行该条指令。

4c7c21685fd547f7a4410993f26a116a.png

惊!只要输入了我自己的密码,我就能短暂的变成超级用户?哈哈哈确实是这样,不过前提是系统信任你,我们用adduser新建的用户,没有颁发执行sudo,系统默认不信任,所以sudo是没用的。我们可以把普通用户添加到系统的信任白名单里,然后再去执行sudou就可以啦。


352e57f4390443ff870a1600320b8555.png

如上图,wcy用户当前就不在系统的信任白名单里,所以就无法执行sudo

📢什么叫做权限


一件事情是否允许被你做,这就叫做权限。比如:有一个叫张三的人,他是一位校长,因此他可以随意的进出校长办公室。这里他能随意进出校长办公室,是因为他叫张三,还是因为他是校长?当然因为他是校长,才可以随意进出校长办公室。因此我们可以得出下面的结论:

人+身份(角色),可以具体决定一个人可以干什么

权限认证的是身份

上面说到,权限是一件事情是否允许被你做,这句话说的其实不够严谨,应该再给这句话加上一个前提,事情必须具备这样做的属性,比如:你想吃掉硬盘里面存储的文件来充饥,这显然是不可能的,因为文件本身就不具备填饱我们肚子的属性。因此可以得到下面的结论:

权限也和事物的“属性”有关

在Linux环境中,我们所有的操作都是针对文件进行的,因此我们要先知道文件具备哪些属性,我们可以对文件干些什么。

🔔文件属性

我们可以通过ls -l指令,查看当前目录下所有文件的属性。

9bd2bea675a2425b9d7c6c62169ef94c.png

如上图,其中蓝色框框起来的每一行的第一个字符表示文件类型,后面绿色框中的九个字符,三三一组,依次为:文件拥有者的权限、文件所属组的权限、其他人的权限。其中r、w、x都代表文件属性。

🎊文件类型

Linux系统中,文件名后缀没有直接意义,系统不通过后缀来区分文件类型,而是通过字符来区分文件类型。但是在Linux系统上运行的软件会通过后缀来区分文件类型。Linux系统中主要有以下几种文件类型:

-:普通文件(文本文件、源代码、可执行程序、库)。

d:目录文件

b:块设备文件(磁盘文件)

c:字符设备文件(键盘、显示器文件)

p:管道文件(用来进行通信)

……

🎊文件属性

Linux系统中主要有以下几种文件属性:

r:读权限,对于普通文件而言,具有读取文件内容的权限;对目录文件来说,具有浏览目录信息的权限。

w:写权限,对于普通文件而言,具有修改文件内容的权限;对目录文件来说,具有删除、移动目录文件的权限。

x:可执行权限,都普通文件而言,具有执行文件的权限;对目录文件来说,具有进入目录的权限。

-:表示不具备该权限。

🔔Linux下的角色

前面提到,权限和身份(角色)有关,Linux中分以下三种角色:

  • 拥有者(文件的创建人)
  • 所属组(为了实现组内协同)
  • 其他人

🎊用户与角色之间的关系

5b52fa18f1a54714b51d70664f04e44d.png


每一种用户可以同时扮演不同的角色。以现实生活为例,Linux中的用户就相当于先现实世界中的你、我、他,是一个具体的人,张三作为一个人,在学校扮演者校长这个角色,回到家里,他又扮演着父亲和儿子的角色。

0458fa73208f469899e995cef250712b.png

上图,蓝色框起来的就表示当前文件的拥有者,绿色框起来的就表示当前文件的所属组。其他人并没有直接出现在上图所展现的信息中,当一个用户操作一个文件的时候,该文件会先看该用户是不是我的拥有者,若不是,再看该用户是不是我的所属组,若都不是,那他就是其他人。

ec477c027dcb4971ba230a1c1bcc5a48.png

如上图,以test.txt文件为例,它的拥有者是wcy用户,具有读、写权限,不具有可执行权限;它的所属组是wcy,具有读、写权限,不具有可执行权限;它的other具有读权限,不具有写和可执行权限。

注意:每组权限都是由三个字符组成,这三个位置所表示的含义是确定的,即第一个位置只能表示是否有读权限,有用r,没有用-;第二个位置表示是否有写权限,有用w,没有用-;第三个位置表示是否有可执行权限,有用x,没有用-。

总结:以后在Linux中说到权限,首先要看当前用户是谁,其次要看文件的拥有者、所属组,判断出当前用户的身份,最后看当前身份下所具有的权限。这就叫做:权限既和身份有关,又和文件属性有关。

小Tips:超级用户不受任何权限约束。


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
2月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
54 2
|
18天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
1月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
45 1
linux特殊权限!!
|
1月前
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
72 1
linux权限管理
|
2月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
2月前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
2月前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
2月前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
30 0
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
96 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
276 6