在Linux中创建新用户的三种方法,总有一种适合你
gudong366 2025-04-08 12:25 9 浏览
将用户添加到Linux计算机是一项基本的管理任务,有几种方法可以实现这一点。每种创建用户的方法都有优点和缺点,我们将向你介绍三种不同的用户创建方法。
Linux计算机为什么需要用户
一台没有用户的个人计算机用处并不大。Linux支持多个用户。无论他们是同时登录并共享计算机的电源,还是在独占使用计算机时单独登录,每个人都需要一个唯一的用户帐户。
用户帐户封装该用户的工作并提供隐私。它还允许将控制和管理应用于帐户。通过更改用户帐户的属性(如他们所属的组),不同的用户可以根据他们的需要或他们的角色或功能具有不同的功能。
无论你是与家庭成员共享计算机,还是管理组织的多用户安装,创建用户帐户都是一项基本的管理技能。
使用useradd命令创建新的Linux用户
useradd命令是用于添加用户的最低级别命令。其他命令充当useradd命令的更友好的前端。这增加了一些便利性,并使过程变得更容易,但其他命令无法实现使用useradd和passwd命令无法实现的事情。
useradd命令有许多选项,下面显示了创建典型新用户所需的选项。不用说,你必须使用sudo来添加用户。
sudo useradd -s /bin/bash -m -c "Mary Quinn" -Gsambashare maryq
该命令由以下部分组成:
- sudo:我们需要管理员权限才能允许新用户访问计算机。
- useradd:useradd命令。
- -s /bin/bash:shell选项,这将为此新用户设置默认shell。
- -m:生成主目录选项,这将在“/home/”目录中创建一个与新用户帐户名同名的目录。
- -c “Mary Quinn”:新用户的全名,这是可选的。
- -Gsambashare:附加组选项,这是可选的。新用户将被添加到与其帐户名同名的组中。-G选项(注意,大写“G”)将用户添加到增补组。组必须已经存在。我们还将使新用户成为“sambashare”组的成员。
- maryq:新用户帐户的名称,这必须是唯一的,不能已被其他用户使用。
这将创建新的用户帐户,创建其主目录,并用一些默认的隐藏文件填充它。我们可以这样查看他们的主目录:
sudo ls -ahl /home/maryq
我们的新用户还无法登录,因为我们尚未为他们创建密码。可以使用其-p(密码)选项将密码传递给useradd命令,但这被认为是不好的做法。此外,你必须以加密形式提供密码,因此它并不像听起来那么简单。
使用passwd命令为新帐户设置密码更容易,也更安全。
sudo passwd maryq
系统会提示你输入密码,然后要求你再次输入密码以验证它。必须将此密码安全地传递给新用户。建议在他们登录时提示他们更改密码。这意味着他们可以选择自己的密码,其他人不会知道。
sudo passwd --expire maryq
我们可以查看新的用户帐户,并通过查看“/etc/passwd”文件将其与现有帐户进行比较。
grep -E "dave|maryq" /etc/passwd
按顺序,冒号“:”分隔的字段为:
- maryq:用户帐户的名称。
- x:此字段中的“x”表示用户帐户密码已加密并保存在“/etc/shadow”文件中。
- 1001:用户帐户ID。
- 1001:此用户帐户的默认组的ID。
- Mary Quinn:这是GECOS领域。它可以保存一组逗号“,”分隔的额外信息值。我们添加的只是用户的全名。
- /home/maryq:此帐户的主目录的路径。
- /bin/bash:该帐户的默认shell的路径。
当我们的新用户首次登录时,他们将使用你为他们创建的密码。
因为我们将他的密码设置为“过期”条件,所以会提示他更改密码。他必须重新输入现有密码。
然后提示他输入新密码。
一旦他键入新密码并点击“回车”,就会要求他重新输入密码以验证它。
最后,他们登录了。从现在开始,他们必须使用新密码登录。
执行一些内部管理,并在它们的主目录中为它们创建通常的“文档”、“下载”和其他目录。
GECOS字段最多可以包含五条以逗号分隔的信息。这些很少使用。如果填充了任何内容,则通常是第一个,它保存该帐户所有者的真实名称。
这些字段包括:
- 此用户的真实名称。
- 此用户的房间号。
- 他们的工作电话。
- 他们的家庭电话。
- 任何其他信息。
如果我们想在创建帐户时提供所有这些,我们可以这样做,如下所示:
sudo useradd -s /bin/bash -m -c "Mary Quinn,Operations 1,555-6325,555-5412,Team Leader" -Gsambashare maryq
我们可以使用grep来查看此信息是否存储在“/etc/passwd”文件中。
grep maryq /etc/passwd
如果在创建帐户时没有这些信息,则可以在以后使用chfn命令添加或更改这些信息。
该信息由finger和pinky等命令使用。
finger maryq
使用adduser命令创建新用户
adduser命令将帐户的创建、其主目录、设置密码和捕获GECOS字段信息包装到一个交互式会话中。
adduser命令已经存在于我们的Ubuntu和Fedora测试机器上,但必须安装在Manjaro上。它位于Arch User Repository中,因此你需要使用诸如yay的AUR助手来安装它。
yay adduser
要启动该过程,请使用sudo并提供要添加的用户帐户的名称:
sudo adduser maryq
将创建用户帐户的默认组,并添加用户帐户,并将该组作为其默认组。将创建主目录,并将隐藏的配置文件复制到其中。
系统将提示你提供密码。
当你提供密码并单击“回车”时,系统会提示你重新输入密码以进行验证。
依次要求你提供可以进入GECOS字段的每一条信息。
提供一些信息,然后按“回车”移动到下一个字段,或者只按“回车”跳过字段。
最后,询问你提供的信息是否正确。按“Y”键,然后按“回车”完成该过程。
记住将新帐户的密码设置为“过期”,以便新用户在首次登录时需要更改密码。
sudo password --expire maryq
使用GNOME用户设置(GUI选项)创建新用户
要在GNOME桌面环境中创建新用户,请单击GNOME面板右侧的电源、音量和网络图标附近,打开系统菜单。
单击“设置”菜单项。
设置应用程序将打开。单击侧栏中的“用户”条目,然后单击“用户”窗格中的“解锁”按钮。
你需要输入密码。
将出现绿色的“添加用户”按钮。
单击此按钮。“添加用户”对话框出现。它包含一个捕获新用户详细信息的表单。
用新用户的详细信息填写表单。如果希望他们能够使用sudo,请单击“管理员”按钮。
你可以立即设置他们的密码,也可以让他们在首次登录时选择密码。如果设置密码,则必须记住打开终端窗口,并使用passwd命令将其设置为“过期”状态。这将迫使他们在首次登录时设置自己的密码。
当你试图使用GUI来完成新用户的创建时,必须转到终端是有点痛苦的。
如果单击“允许用户在下次登录时设置自己的密码”单选按钮,则用户在尝试登录时会被提示输入新密码。但这里的缺点是,第一个尝试使用新帐户的人可以设置密码。因此,任何知道帐户已创建,并想控制真正的新用户尝试登录的人都可以接管该帐户。
这两种情况都不理想。
完成填写并进行选择后,单击绿色的“添加”按钮。
我们选择了“允许用户在下次登录时设置自己的密码”选项。当用户尝试登录时,系统会提示他输入新密码。但是,与我们前面看到的顺序不同,他们不会被提示输入他的当前密码,因为他没有密码。
正如你所期望的,他必须再次输入它来验证它。
我应该使用哪种添加用户的方法
不确定我们概述的哪种用户创建技术最适合你吗?好的,useradd命令提供了细粒度控制,但在命令行上有许多工作要做。
adduser命令使生活变得更容易,但不允许你将新用户输入到其他组中。
GNOME中的GUI方法有缺点,无论你选择哪个密码单选按钮。
在大多数非正式或国内情况下,adduser命令可能会为你提供功能和性能之间的最佳平衡。如果需要将新用户添加到其他组中,则可以在创建新用户后使用usermod命令执行该操作。
相关推荐
- linux进程间的通信方式有哪些(linux怎么看这个进程在哪个路径下)
-
管道通信(PIPE)两个进程利用管道进行通信时.发送信息的进程称为写进程.接收信息的进程称为读进程。管道通信方式的中间介质就是文件.通常称这种文件为管道文件.它就像管道一样将一个写进程和一个读进程连接...
- Linux守护进程 daemonize 命令(linux 守护进城)
-
daemonize:作为守护进程运行命令的工具daemonize是一个命令行实用程序,它作为Unix/Linux守护进程运行命令。daemonize工具是用C语言编写的。大多数程序被设计为作为守护...
- linux进程间通信—信号(linux查看进程之间的通信指令i)
-
Linux环境进程间通信(二)信号(下)一、信号生命周期从信号发送到信号处理函数的执行完毕对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个...
- Linux 上以树状查看文件和进程(linux如何查看进程树)
-
提供了一些方便的命令,用于以树状分支形式查看文件和进程,从而易于查看它们之间的关系。在本文中,我们将介绍、和命令以及它们提供的一些选项,这些选项可帮助你将注意力集中在要查看的内容上。ps我们用...
- 文件搜不到?进程理不清?掌握这3个Linux技巧,效率直接翻倍!
-
哎家人们,今天必须跟你们唠唠Linux里那些“用了就回不去”的效率神器!我猜屏幕前肯定有不少朋友跟我之前一样——明明装着Linux当开发机/服务器,结果每天被命令行折腾得够呛:找个文件翻遍目录,看进程...
- 如何在 Linux 中使用 PID 号查找进程名称?
-
在Linux的复杂世界中,进程是系统运行的核心,每个进程都由一个唯一的「进程ID」(PID)标识。无论是系统管理员在排查失控进程,还是开发者在调试应用程序,知道如何将PID映射到对应的进程名称都是一项...
- Linux进程深度解析(1):进程结构、内存布局与资源管理
-
0.简介进程是系统执行的核心单元,理解进程是我们诊断性能问题、开发高并发程序的基础。Linux进程深度解析系列将会从原理角度对进程进行深入分析,帮助读者系统的理解其设计的思路,让读者在理解原理的基础...
- Linux 下如何查看进程的资源限制信息?
-
简介Linux上的cat/proc/$pid/limits命令提供有关特定进程的资源限制的信息,其中$pid是相关进程的进程ID(pid)。该文件是`/proc文件系统的一部分,该...
- Linux 8种进程状态及状态转换(linux进程状态切换)
-
Linux8种进程状态通过psaux可以看到进程的状态。O:进程正在处理器运行,这个状态从来没有见过.S:休眠状态(sleeping)R:等待运行(runable)RRunningorrun...
- 如何查看linux后台运行的进程?如何查看后台运行进程的状态?
-
linux系统中挂在后台的进程,如何能够被运维人员知道呢?以及挂在后台的进程当前状态是怎样的?是否可以继续执行?如何杀死一个在后台挂起的进程?后台进程可以通过‘&’符号或nohup命令,让程序进入...
- 最新保姆级、超详细介绍VMware的使用(一)软件的安装
-
一、VMware简介VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMware采用了完全不同的概...
- Shell脚本怎么写?(0)(shell脚本怎么写变量)
-
各位不好意思,最近加班+感冒,有三四天没更新了,python自动化脚本系列总共六期,基本已经囊括了编写python自动化脚本的所有基础函数和语法了。大家如果没看过这个系列的话,可以参考下面的链接:...
- 用Python从头开发一个自己的Shell(下)
-
编程派微信号:codingpy平常工作中经常用到shell吧?好不好奇shell的具体执行方式?今天推送的这两篇文章,将利用Python实现一些简单的shell功能。本文原作者为Su...
- Linux编程Shell之入门——Shell函数返回值
-
在Shell中,函数可以通过返回值将结果传递给调用者。返回值可以是一个整数、字符串或其他类型的数据。以下是关于Shell函数返回值的详细介绍:使用return语句在Shell函数中,使用return...
- Linux shell编程中易混淆的符号(linux中shell编程详解)
-
符号主要功能执行环境是否解析变量典型用例()子Shell执行命令子进程是隔离环境操作{}代码块或扩展当前Shell是(代码块内)组合命令或生成序列""弱引用字符串-是含变量...
- 一周热门
- 最近发表
-
- linux进程间的通信方式有哪些(linux怎么看这个进程在哪个路径下)
- Linux守护进程 daemonize 命令(linux 守护进城)
- linux进程间通信—信号(linux查看进程之间的通信指令i)
- Linux 上以树状查看文件和进程(linux如何查看进程树)
- 文件搜不到?进程理不清?掌握这3个Linux技巧,效率直接翻倍!
- 如何在 Linux 中使用 PID 号查找进程名称?
- Linux进程深度解析(1):进程结构、内存布局与资源管理
- Linux 下如何查看进程的资源限制信息?
- Linux 8种进程状态及状态转换(linux进程状态切换)
- 如何查看linux后台运行的进程?如何查看后台运行进程的状态?
- 标签列表
-
- linux一键安装 (31)
- linux运行java (33)
- ln linux (27)
- linux 磁盘管理 (31)
- linux 内核升级 (30)
- linux 运行python (28)
- linux 备份文件 (30)
- linux 网络测试 (30)
- linux 网关配置 (31)
- linux jre (32)
- linux 杀毒软件 (32)
- linux语法 (33)
- linux博客 (33)
- linux 压缩目录 (37)
- linux 查看任务 (32)
- 制作linux启动u盘 (35)
- linux 查看存储 (29)
- linux乌班图 (31)
- linux挂载镜像 (31)
- linux 软件源 (28)
- linux题目 (30)
- linux 定时脚本 (30)
- linux 网站搭建 (28)
- linux 远程控制 (34)
- linux bind (31)