第2章:Linux 基础,切换用户

专栏导航

上一篇:第2章:Linux 基础,在 root 中创建用户账号

回到目录

下一篇:第2章:Linux 基础,删除用户

本节前言

对于本节所讲解的知识,有可能,你会需要时不时地参考本专栏的其它文章。真的遇到了需要参考之前的文章的知识点,请你自行查阅。

我呢,也会提到一部分的参考课节。但是呢,你不应该依赖于我的主动提及。最好呢,你自己能够多去了解和查看本专栏目录。

另外呢,本专栏是一个整体,是用来系统化地讲解 Linux 0.12 内核的一套教程。所以呢,也需要你在学习本节课程的时候,注意专栏的体系完整性。

比如软件安装,我们需要在整个专栏中,安装一套软件,那你如果是为了学习 Linux 0.12 内核,那么,你就需要跟随着本教程,安装好一整套软件,而不可以孤立地看着某个课节。

比如说,我们的专栏中,会讲解 Bochs 模拟器 的安装。这个软件的安装,就需要在我们专栏中所指定的乌班图 26.04.1 版本里面进行。脱离了这个系统版本,你在其它的版本的乌班图里面,或者是在其它的 Linux 发行版里面来安装,那么,你可能会安装不上。

所以,请大家在学习本专栏的课节的时候,务必要注意本专栏的体系完整性,注意查看本专栏的目录。

我们来讲解,如何切换用户账号。

本节内容,需要以上一节为基础。

我们再次将上一节内容的链接贴在下面。

参考课节:第2章:Linux 基础,在 root 中创建用户账号

在学习本节内容之前,请大家务必先掌握参考课节的内容。

我们开始。

一. 准备工作

首先呢,还是请大家打开虚拟机乌班图系统,然后在桌面上打开一个终端,并清理到如下图所示的纯净状态。
图1

在本节前言给出的参考课节里面,我们创建了一个用户,user_01,并将其密码设置为【asd001】这么六个字符。

接下来呢,还是请大家运用参考课节的内容,来创建一个新用户账号,用户名为【user_02】,用户密码为【asd002】这么六个字符。

设置好了以后,界面如下图所示。
图2

保持图2 所示的终端面貌不动,一会儿,我们还有用。

二. su 命令

(一)su 命令的基本格式

切换用户,需要用到一个命令,那就是 su 命令。它的基本语法如下。

命令格式:su + 一个或多个空格 + user_name

执行了这个命令以后,是要分情况的。如果是从超级用户切换到 user_name 所指示的用户,则不需要输入密码,直接切换过去。如果是从普通用户切换到 user_name 所指示的用户账号,则需要正确输入密码,然后才能够切换过去。

(二)从 root 用户切换到 study

此时,如终端所示,我们此时是处在 root 用户之中,因为白色光标左侧的符号是井号【#】而不是美元符号【$】,并且白色光标左侧的提示文字中,@ 符号左边的文本是 root 。

接下来呢,我们就从 root 用户,先切换到 study 用户。这是我们在本专栏里面,安装乌班图的时候,所设置的默认用户账号。

我们来执行下述命令。

复制代码
su study

结果如下图所示。
图3

如图3 的红色框线所示,命令提示文字中,最右边的字符为美元符号【$】,表明这是一个普通用户。然后呢,@ 符号左边为 study,表明这是 study 用户。

(三)从 study 用户切换到 user_01

接下来,我们就从 study 用户,切换到 user_001 用户。

我们执行下述命令。

复制代码
su user_01

结果如下图所示。
图4

如图4 的红色框线所示,要求我们输入密码了。我们给 user_01 设置的密码,是六个字符,【asd001】。输入密码以后,按下回车键,结果如下图所示。
图5

注意,在输入密码的时候,终端里面没啥演示。若是我们在 Windows 里面输入密码,这里还会显示星号【*】或者黑色实心小圆圈等等的掩码字符。但是呢,在 Linux 里面,它什么都不显示。放心,你输入的密码,系统已经接收了,只不过,没有显示掩码字符而已。

正确地输入密码并且按下回车键以后,显示结果如图5 所示。在图5 的红色框线里面,在白色光标左侧,显示了新的命令提示文字。这个命令提示文字,只有一个字符,就是红色框线所示的美元符号【$】。

它没有像 study 用户那样,显示一串东西,还在 @ 符号左侧,提示了用户账号名。没有那些复杂的东西,只提示了一个美元符号【$】。

此时,万一你忘了这个时候是处在哪个用户账号之中,那咋办呢?

我们之前有讲过 whoami 命令。这个命令的讲解如下面的链接所示。

参考课节:第2章:Linux 基础,whoami 命令

我们在图5 所示的终端里面执行下述命令。

复制代码
whoami

执行结果如下图所示。
图6

在图6 里面,在红色框线部分,显示了 whoami 命令的执行结果,当前用户为 user_01 。

(四)从 user_01 用户切换到 user_02

接下来呢,我们再从 user_01 切换到 user_02 。

user_02 的密码,是六个字符,【asd002】。

请大家执行下述命令。

复制代码
su user_02

执行了以后,按提示输入密码,然后按下回车键,结果如下图所示。
图7

在图7 中,红色框线所示的命令提示文字中,依然是只显示一个美元符号,【$】。

(五)whoami 命令的用途

在这里,如果我们采用本节前言的参考课节的知识,再去创建几个用户账号,则切换到它们以后,命令提示文字中,依然只会显示美元符号【$】。

如果,你创建了许许多多的这种普通用户,然后,切换到它们以后,终端只给你显示了一个【$】作为命令提示文字,那么,你说,你当前是处在哪个用户账号之中?

这就是 whoami 的用途,它可以显示当前的登录用户。

(六)切换到 root 用户

接下来呢,我们尝试着从 user_02 用户切换到超级用户 root 。

(1)一次失败的切换

从普通用户切换到超级用户,用的,也是 su 命令。只不过,这个 su 命令,需要加上命令前缀 sudo 。切换到普通用户是不用加前缀 sudo 的,只有切换到 root 用户才需要命令前缀 sudo 。

关于切换到超级用户,我们在下述的参考课节中,是有讲解过的。

参考课节:第2章:Linux 基础,切换到超级用户

我们在图7 所示的终端里面,执行下述命令。

复制代码
sudo su -

结果如下图所示。
图8

在图8 里面,红色框线部分给出了提示,大致意思就是说,终端不允许 user_02 采用带有 sudo 的前缀,用 su 命令切换到超级用户 root 。

为啥呢?

这个呢,我们以后讲。

(2)切换到超级用户的一个方法

在这里,我们给出切换到超级用户的一个方法。

想要切换到超级用户,首先呢,你得是切换到当初安装乌班图时设置的默认用户。我们的专栏课程里,将这个默认用户,设置成了 study 。切换到了默认用户以后,接下来,在默认用户里面,执行【sudo su -】或者【sudo su】命令,并且正常输入密码,然后按回车键,就可以了。

(3)切换到用户 study

在这里,请大家先来执行下述命令。

复制代码
su study

然后呢,按照提示来输入 study 用户的密码。我们当初安装乌班图时,给 study 用户设置的密码时六个字符,【123456】。在终端i面,正确输入密码,然后回车键,结果如下图所示。
图9

如图9 的红色框线所示,从命令提示文字中,我们已经可以看到,此时,我们已经是处在了 study 用户之中。

(5)切换到超级用户 root

然后呢,我们执行下述命令。

复制代码
sudo su -

然后按照提示,正常输入密码,然后按下回车键,就可以了。密码依然是六个字符,【123456】。结果如下图所示。
图10

如图10 的红色框线所示,我们从命令提示文字中,可以看出,当前,我们已经是处在了 root 用户之中。

三. 小结与说明

到了这里,我们本节内容差不多就讲完了。

在这里,我们给出本节的一个重点提示。

不是每一个普通用户都可以切换到超级用户 root 的。在我们现有的知识里面,只有当初安装乌班图时,设置的默认用户账号,可以通过【sudo su -】或者【sudo su】命令,来切换到超级用户 root 账号里面,其余的用户都是不可以切换到 root 的。

因此,除了默认用户以外,其余的普通用户,想要切换到超级用户 root,它们就需要首先用【su】命令切换到默认用户,然后再从默认用户,使用【sudo su -】或者【sudo su】命令,来切换到超级用户 root 。

实际上呢,默认用户之外的用户,也可以通过一定的手段,来使自己可以直接用【sudo su -】或者【sudo su】命令,来切换到超级用户 root 账号之中。

不过,这个设置方法,我们的专栏并不予以讲解。

为啥?

因为,这是属于较为专业的 Linux 知识了。我们的专栏,对于 Linux 命令,仅仅讲述基础常用的命令,我们这个专栏并不是为了让大家精通 Linux,而是让大家能够使用必要的 Linux 命令,来开展编写和编译内核代码的工作任务。

想要学习专业级的 Linux 知识,你还得是自行学习相关的教程。

这类教程,CSDN 有很多,相关的教材也有很多。

结束语

本节内容,我认为是不难的。

希望大家学好本节知识。

专栏导航

上一篇:第2章:Linux 基础,在 root 中创建用户账号

回到目录

下一篇:第2章:Linux 基础,删除用户

相关推荐
Lsetea2 小时前
curl指定--tlsv1.2仍连接TLS1.3:最低版本与tls-max排查
linux·https·ssl证书·curl·tls
Lsetea2 小时前
curl访问HTTPS报47 Too many redirects:重定向循环与max-redirs排查
linux·http·https·ssl证书·curl
知识分享小能手2 小时前
C学习教程,从入门到精通,C语言学生信息管理系统 — 知识点详解(18)
c语言·学习·1024程序员节
爱读书的小胖2 小时前
LeetCode 55 跳跃游戏 C 语言解题分析
c语言·数据结构·算法·leetcode·1024程序员节
pipixia200332 小时前
C++ 面试高频:namespace 的 6 个知识点,从 using 到匿名命名空间
c语言·学习·算法·嵌入式·命名空间·c++面试·匿名命名空间
9624563 小时前
一次 Dell PowerEdge R750xs 启动故障复盘:从 iDRAC 带外管理到 Linux 多内核回退与 initramfs 重建
linux·运维·服务器
Navigator_Z4 小时前
LeetCode //C - 1300. Sum of Mutated Array Closest to Target
c语言·算法·leetcode
Zevalin爱灰灰4 小时前
Linux入门第一部分(Ubuntu入门篇) 第二章 浅尝Ubuntu(二)
linux·嵌入式·1024程序员节
北京中科新远科技4 小时前
高速接口兼容排查实战:OSFP、QSFP112与QSFP56如何逐层验证
linux·运维·网络