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

专栏导航

上一篇:第2章:Linux 基础,切换到超级用户

回到目录

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

本节前言

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

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

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

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

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

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

本节,我们来讲解创建用户。

学习本节之前,需要大家先了解,如何切换到超级用户 root 里面去。

下面是关于切换 root 账号的课节。

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

对于这个先修课节,请大家务必先行学习和掌握。

好了,我们开始本节的学习。

一. 准备工作

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

然后呢,我们在终端里执行下述命令。

sudo su -

按下回车键以后,输入密码。我们在安装乌班图时,设置的密码是【123456】,是这么 6 个简单的数字。如果你的密码与我的不同,以你的情况为主。

结果如下图所示。
图2

如图2 所示,白色光标左侧的命令提示文字中,@ 符号左边的文本,变为了 root 字样。root 字样表明,当前,终端处在 root 用户账号之中。白色光标左侧的井号【#】也表明,当前,我们是处在超级用户 root 之中。

这样一来,准备工作,我们就做好了。

二. 创建用户

我们可以在 Linux 里面,创建不同的用户账号。

一般来讲,我们在创建用户账号时,需要做好两件事。第一件事,就是用 useradd 命令来新建一个用户账号。第二件事,就是用 passwd 命令为这个新用户创建密码。第一件事要先做,第二件事随后做。

如果,只做了第一件事,而没有去做第二件事,则在后续的使用中,会有麻烦。

什么麻烦?

很多时候,我们需要在不同的普通用户账号之间,相互切换账号。如果,创建的新用户只有用户名,而没有密码,则直接执行切换命令时,会有麻烦。

为了避免切换用户账号的麻烦,我们需要在创建新用户以后,为这个新的用户账号创建密码。

创建用户,是超级用户 root 才具备的权限。

因此,我们才在本篇文章的第一分节之中,使用【sudo su -】命令,切换到 root 用户账号。

(一)使用 useradd 命令来创建新用户

下面的块引用,展示了创建用户的命令格式。

命令格式:useradd + 一个或多个空格 + new_user

命令效果:创建一个新用户,新用户的用户名为【new_user】

接下来呢,我们在图2 所示的终端里,执行下图的红色框线所示的命令。
图3

如图3 的红色框线所示,我们创建的新用户的用户名,为【user_01】。

(二)使用 passwd 命令为新用户创建密码

passwd,实际上,它是英文单词 password 的缩写。paswword,就是密码的意思。

passwd,是用来给某个用户账号设置密码的。

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

passwd user_01

执行的情况如下图所示。
图4

如图4 所示,终端在提醒我们,给这个新用户设置密码。

我们输入下述的文本,作为 user_01 用户的密码。

asd001

然后按回车键。

执行情况如下图所示。
图5

在我们输入我们想要设置的密码时,大家会发现,光标没有动。这个呢,这是 Linux 的一种特点。在 Windows 里面设置密码时,基本上,软件会在大家输入一个密码字符的时候,就显示一个星号或者黑色实心小圆圈,作为密码字符的掩码字符。

而在 Linux 里面,有时,它是不显示掩码的。习惯了 Windows 的同学,乍一接触 Linux 的时候,可能会以为,我们输入的密码字符无效呢。实际上,是有效的。

只不过,Linux 里面没有给我们显示掩码而已。

这增强了保密性,但是呢,也多少让使用者有点犯嘀咕,我输入的东西,究竟有没有输入进去啊?

不过,这就是 Linux 的特点,优先考虑保密性,考虑性能。习惯了就好。

我们输入的密码,只有 6 个字符,图5 里面提示说,输入的密码字符太少了。我们可以无视这个警告。我们重新输入下述密码字符。

asd001

然后按回车键,结果如下图所示。
图6

如图6 的红色框线所示,我们成功地设置了密码。

(三)如何检验新用户的创建情况?

如何来检验新用户的创建情况?

关于这一点,我们需要切换到这一新用户之中。关于切换用户,我们本节不讲。

下一节,我们来讲解,如何来切换用户。

三. 说明

关于创建用户,我们不仅可以使用 useradd 命令,其实我们也可以使用 adduser 命令。不过,adduser 命令,我们就不讲了。想要学习的话,请自行查阅资料。

使用 useradd 命令来创建新用户时,还可以给 useradd 命令带上各种参数。

比如,我们可以加上 -m 参数。

不过,对于 useradd 命令的各种参数,我们也不去展开讲解。

因为,本专栏在 Linux 命令方面的讲解规划,仅仅是想要让大家了解和掌握基本的 Linux 命令而已,我们没有打算系统而详细地讲解 Linux 命令。

我们仅仅是希望,通过让大家掌握入门级的 Linux 命令,让大家能够通过本专栏的 Linux 0.12 内核的学习任务,让大家能够自行使用基本的 Linux 命令,来编译 0.12 内核。

至于说,系统学习 Linux 命令,那是需要大家在本专栏之外,自行去解决的问题了。

Linux 命令,个人认为,那是一个需要花费一番时间来学习的。想要精通和熟练使用 Linux,那还是需要花费一番时间的。

如果,大家想要真正地学好 Linux 内核,那么,Linux 命令,大家是需要系统学习,是需要花费大量的时间,来学好 Linux,是需要去精通和熟练 Linux 命令的。

不过,对于 Linux 命令的学习,大家需要自行来完成。

因为,市面上,关于 Linux 的教程实在是很多,各种培训班也不少。

因此,讲好 Linux 的课程任务,并不需要我来专门做这件事。

而若是为了学习好 Linux 0.12 内核,那么,你可以专门地去学习赵炯先生的《Linux 内核完全剖析》教材,花费一番时间,这也足够了。

可是,你若是希望,不但可以学习 Linux 0.12 内核的代码,还希望能够编译它,可以随时修改它,可以自由地,在其中加入自己的代码模块,让编译出来的内核可以运行自己设置的新命令,那么,这是本专栏要去做的事情,也是大家学习本专栏的价值所在。

你若是希望,学好了 Linux 0.12 内核以后,还想要去继续学习 Linux 1.0 内核,那么,这也可能是我们的努力方向。因为,在讲完了 Linux 0.12 内核以后,我可能会去考虑,在以后,去写新的专栏,讲解 Linux 1.0 内核,并在专栏中教大家编译 Linux 1.0 内核。

大体上,对于 Linux 内核,我还是希望,能够建立一系列的教程,来让大家能够实现对 Linux 内核的入门到精通,而培养出一批操作系统开发人才。

有的事情,不需要我专门去做。像是系统讲解 Linux 命令这件事,它就不需要我专门去做。

而讲解 Linux 0.12 内核,并教大家编译它,这是一个比较有挑战的事情,之前似乎也没有人去做,所以,我来做这件事。

教会了大家 Linux 0.12 内核的代码及其编译方法以后,再去开设新的专栏,教大家 Linux 1.0 内核的代码与编译方法,甚至在以后去教大家高版本的 Linux 内核的代码与编译方法,让大家达到对于 Linux 内核的系统化的学习,这也是一个有挑战性的事情。而这种挑战性的事情,之前似乎也没有人去做。所以,我应该会考虑着去做这件事。

如果,单纯是想要学习 Linux 内核的高版本代码,那么,西安邮电大学的陈莉君教授翻译和编写的许多教材,以及其它的国外 Linux 内核教材的中文版,算是足够大家去学习了。

可是,如何来达到对 Linux 内核的系统学习与掌握,如何让大家具备动手编写和编译 Linux 内核的能力,这是国外的教程做得不够的。

部分的学习 Linux 内核的人,虽说能够看懂 Linux 代码,但是,一修改代码,就会运行出错,然后还难以调试。为啥?因为缺乏对于 Linux 内核的系统化的学习与编译。仅仅是学习高版本的 Linux 内核代码,仅仅是了解原理,这并不足以让人成为一个 Linux 内核开发者,也不足以培养操作系统开发人才。

必须得是你自己具备动手编写和编译内核的能力,并且有着对于 Linux 内核的系统化的学习,才可以逐渐地具备操作系统开发能力的。

如果,可以追随着川合秀实的脚步,写出来一个玩具型内核,那么,这也可以入门操作系统的代码编写与编译的知识。但是,如果缺乏对于 Linux 内核的系统化、体系化的学习,则很容易停留在基础的层面。

必须得是有一个系统地,由易到难,由低版本到高版本的系统化的 Linux 内核源码的学习与编译实践,必须得是自己亲自来动手,编写代码,编译内核,才能够逐渐地具备操作系统的开发能力。

这是一个漫长而艰难的学习过程。

如果缺乏耐心与毅力,大概率地,观看本专栏的各位,是会半途而废的。

我们希望大家能够坚持学习下来,无论是看我的专栏,还是不看我的专栏,我都希望大家能够学习下来。

路漫漫其修远兮。

结束语

以后有机会,我会尝试着去讲解一点儒家经典的章句。

因为,儒家经典里面,有许多的东西,可以用来培养人的意志力。

我们希望阅读我的专栏的人,能够有着多一些的人,能够坚持走下来,不要半途而废。

所以呢,有空的话,我会去讲解一些个儒家经典的原理知识,帮助大家做好心态上的准备与锻炼。

本节结束。

专栏导航

上一篇:第2章:Linux 基础,切换到超级用户

回到目录

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

相关推荐
叼烟扛炮1 小时前
Linux 学习笔记(四):文件检索与管道重定向
linux·笔记·学习
cu1431 小时前
细谈IT6563的具体功能与其应用
c语言·c++·单片机·嵌入式硬件
梯度下降者1 小时前
全栈 JS 性能监控:在生产环境实现长任务(Long Task)的采集与上报
用户体验·性能监控·1024程序员节·rum·长任务·全栈js
喜欢打篮球的普通人2 小时前
LLVM 前端与优化层:Clang 如何把 C 代码变成 IR
c语言·前端·状态模式
帷幕落秋2 小时前
Linux 网络基础
linux
高晶3 小时前
ARM 嵌入式 Linux 命令系统 BusyBox 实战指南
linux·设计模式·程序员
Soonyang Zhang3 小时前
aisimulate分析(一)——算子workload建模
仿真·1024程序员节·vllm·推理框架·sglang
祥Sir的SRE笔记4 小时前
CPU 100% 不一定是故障:压测打满、业务饱和、突变打满的判断与排查
linux·面试·性能优化·dba·sre·故障定位·性能排查
郝亚军4 小时前
在win11上用openssl生成私钥、再从私钥导出公钥、...
linux·运维·服务器