在Linux中创建新用户的三种方法,总有一种适合你
nanshan 2024-10-12 05:31 17 浏览 0 评论
将用户添加到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命令执行该操作。
相关推荐
- 0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)
-
文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...
- ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes
-
为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...
- 生产环境starrocks 3.1存算一体集群部署
-
集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...
- 在CentOS上添加swap虚拟内存并设置优先级
-
现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...
- 国产深度(deepin)操作系统优化指南
-
1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...
- postgresql-15.4 多节点主从(读写分离)
-
1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...
- Docker 容器 Java 服务内存与 GC 优化实施方案
-
一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...
- 虚拟内存设置、解决linux内存不够问题
-
虚拟内存设置(解决linux内存不够情况)背景介绍 Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...
- Elasticsearch性能调优(5):服务器配置选择
-
在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...
- Es如何落地
-
一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...
- 针对Linux内存管理知识学习总结
-
现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...
- MySQL进阶之性能优化
-
概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...
- Linux Cgroups(Control Groups)原理
-
LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...
- linux 常用性能优化参数及理解
-
1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...
- 如何在 Linux 中使用 Sysctl 命令?
-
sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)