• 产品更新

如何在 Ubuntu 24.04 中添加和删除用户?(Ubuntu 用户管理)

如何在 Ubuntu 24.04 中添加和删除用户?(Ubuntu 用户管理)

目录

用户管理是任何 Linux 系统管理员的一项基本技能。在初次搭建 Linux 服务器时,尤其是在 Ubuntu 系统上,您通常只能通过 root 账户进行访问。

虽然 root 用户赋予您对系统的完全控制权,但将其用于日常任务存在风险,甚至可能造成损害。更好的做法是为日常管理创建一个独立的非 root 用户。这有助于降低意外导致全系统范围变更的风险,并增强安全性。如果您管理的是多用户环境,每位用户都应拥有独立账户,以确保责任归属和权限分离。

对于需要管理员权限的操作,Ubuntu 提供了一个名为 sudo 的工具。该命令允许您在无需以 root 用户身份登录的情况下,以提升的权限执行任务。在本指南中,您将学习如何在 Ubuntu 上创建新用户、授予其 sudo 访问权限,以及在不再需要时安全地删除用户。

先决条件

要跟随本用户管理教程操作:

  • 您需要访问一台运行 Ubuntu 24.04 的服务器。
  • 请确保您拥有服务器的 root 访问权限,并且 防火墙 已正确配置。

Ubuntu 24.04 中的用户管理

在 Ubuntu 中添加用户

要在 Ubuntu 系统中创建用户,可以使用 adduser 命令。如果您以 root 用户 身份登录,请运行:

$ adduser newuser

Ubuntu 创建用户

如果您使用的是具有 sudo 权限的普通账户,请使用:

$ sudo adduser newuser

执行命令后,系统将引导您完成几个设置步骤:

  • 为新用户设置并确认密码。
  • 可选地提供其他详细信息,如全名、电话号码等。按 Enter 键可跳过任何步骤。
  • 输入 Y 确认所填信息正确。

完成后,新账户即可使用,用户可使用您刚设置的密码登录。

如果您希望该用户执行管理任务,请继续阅读下一节以授予其 sudo 权限。

在 Ubuntu 上为用户授予 sudo 权限

如果您希望用户执行管理任务,需要授予其 sudo 权限。这允许用户在需要时以 root 用户身份运行命令。

通常有两种实现方法:

方法 1:将用户添加到 sudo 组

在 Ubuntu 20.04 和 24.04 等系统中,任何被添加到 sudo 组的用户都会自动获得管理员权限。

查看用户的当前所属组

要查看用户属于哪些组,请运行:

$ groups newuser

默认情况下,用户仅属于其用户名同名的组。

将用户添加到 sudo 组

要授予 sudo 访问权限,请使用以下命令将用户添加到 sudo 组:

$ sudo usermod -aG sudo newuser
  • -aG 表示“将用户追加到指定的组中”。
  • 您必须以已拥有 sudo 权限的用户身份或以 root 身份运行此命令。

方法 2:通过 /etc/sudoers 授予特定的 sudo 权限

除了使用组之外,您还可以通过编辑 sudo 配置文件直接分配 sudo 权限。

安全地打开 sudoers 文件

请务必使用 visudo 命令,该命令可防止语法错误,并确保在编辑过程中文件处于锁定状态。

以 root 身份:

# visudo

以具有 sudo 权限的用户身份:

$ sudo visudo

Ubuntu 通常默认使用 nano 编辑器打开此文件,该编辑器对初学者非常友好。

添加用户的 sudo 条目

查找以下行:

root ALL=(ALL:ALL) ALL

在其正下方添加:

newuser ALL=(ALL:ALL) ALL

将 newuser 替换为您的实际用户名。此行赋予该用户完整的 sudo 权限,与 root 账户类似。

Y 保存更改,并使用 Ctrl + X 退出当前窗口。

您的用户现在拥有管理员权限。您可以通过切换到该用户并尝试执行如下 sudo 命令来验证:

$ sudo apt update

如果您想授予受限的 sudo 权限(仅限特定命令),请告知我。

验证新用户的 sudo 访问权限

授予 sudo 权限后,您可以测试一切是否正常工作。

以新用户身份登录时,您可以像这样正常运行常规命令:

regular_command

要以管理员权限运行同一命令,只需在命令开头添加 sudo:

$ sudo 常规命令

系统会提示您输入当前用户账户的密码(而非 root 密码)。这是在允许提升权限之前对用户身份的验证。

在 Ubuntu 上删除用户

如果某个用户账户不再需要,建议将其删除,以保持系统整洁和安全。

删除用户(保留文件)

若要删除用户账户但保留其文件(如主目录),请以 root 身份运行以下命令:

# deluser newuser

如果您使用的是具有 sudo 权限的普通账户:

$ sudo deluser newuser

删除用户及其主目录

如果您希望同时删除用户及其主目录和个人文件:

$ sudo deluser --remove-home newuser

这可确保系统上不会残留任何文件。

清理 sudo 权限

如果已删除的用户曾被手动授予 sudo 访问权限,您还应从 sudoers 文件中删除其条目。

请使用以下命令安全地打开该文件:

$ sudo visudo

查找类似以下的一行:

newuser ALL=(ALL:ALL) ALL

删除该行,以确保未来使用相同用户名的用户不会自动获得提升的访问权限。

删除未使用的组

如果您专门为该用户创建了一个组,且该组中没有其他用户,则可以删除该组:

$ sudo delgroup groupname

这有助于保持组列表整洁,并减少系统权限中的冗余。

在 Ubuntu 上临时禁用用户账户

在您希望阻止用户访问系统,但又不希望永久删除其账户或文件的情况下,您可以锁定该账户,而不是将其删除。这对于临时停用或长期不活跃的用户非常有用。

锁定用户密码

禁用用户账户最简单的方法之一就是锁定其密码。这会阻止用户使用密码登录,同时保留其文件和设置。

root 身份运行:

# passwd -l 用户名

作为 具有 sudo 权限的用户,请使用:

$ sudo passwd -l 用户名

-l 选项 通过在 /etc/shadow 文件中加密密码的开头添加一个特殊字符(如 !)来锁定密码,使其无法使用。

解锁密码

若要重新启用用户的登录权限并恢复其原始密码,请执行:

$ sudo passwd -u 用户名

-u 选项将解除密码锁定,允许用户使用之前的凭据再次登录。

通过禁用交互式 shell 来阻止用户登录

另一种限制访问的方式是将用户的默认 shell 设置为不支持交互式会话的 shell。

禁用 shell 访问

sudo usermod -s /usr/sbin/nologin 用户名

或者:

sudo usermod -s /bin/false 用户名

这将阻止用户在登录时打开 shell 或终端会话。

恢复原始 shell

若要重新允许 shell 访问(通常为 Bash):

$ sudo usermod -s /bin/bash 用户名

用户配置文件安全

当向 Linux 系统(如 Ubuntu)添加新用户时,其主目录会创建在 /home/用户名 路径下,并使用从 /etc/skel 复制的默认设置。

默认情况下,这些目录对所有用户都是可读的,如果多个用户共享同一服务器,这可能会导致敏感文件暴露。

检查和限制访问权限:

查看当前权限:

$ ls -ld /home/username

如果看到类似以下内容:

drwxr-xr-x

则表示其他用户可以访问该目录。要限制访问权限:

$ sudo chmod 0750 /home/username

注意: 请避免使用 chmod -R,因为它会递归地更改权限,可能会无意中修改目录内的文件。

为未来用户设置安全的默认权限:

为确保所有新用户的家目录在创建时即具有受限访问权限:

1. 打开 /etc/adduser.conf

2. 设置:

DIR_MODE=0750

这可确保默认情况下拥有更好的隐私保护。您可以使用以下命令再次确认权限:

ls -ld /home/username

现在,只有该用户和系统管理员可以访问该目录。

设置密码策略

强密码是抵御暴力破解和字典攻击的第一道防线,特别是在具有远程访问功能的服务器上。

最小密码长度:

Ubuntu 使用 common-password 文件来控制密码策略。

要强制执行最小长度(例如 8 个字符),请编辑:

$ sudo nano /etc/pam.d/common-password

修改相关行,加入:

minlen=8

示例:

password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=8

注意:这些设置仅适用于普通用户。使用 sudo 创建用户的管理员可能会绕过这些检查。

遵循这些最佳实践,您可以加强 Ubuntu 服务器的用户访问控制,降低风险,并保持更好的系统卫生。

使用 chage 设置密码过期策略

要强制执行密码过期和更改策略:

查看当前密码设置

$ sudo chage -l 用户名

这将显示密码上次更改的时间、过期日期以及老化设置。

交互式设置密码规则

$ sudo chage 用户名

手动设置密码(示例):

$ sudo chage -E 2015/01/31 -m 5 -M 90 -I 30 -W 14 用户名

-E:账户过期日期

-m:密码更改前的最短天数

-M:密码有效期的最长天数

-I:密码过期后,账户处于非活动状态直至被锁定的天数

-W:密码过期前的警告天数

您可以验证更改:

$ sudo chage -l 用户名

结论

至此,您应该已经对如何在 Ubuntu 24.04 上管理用户账户有了扎实的理解。您已经学会了如何创建和删除用户、授予或撤销 sudo 权限、管理用户组,以及通过锁定账户来暂时禁用账户。

正确的管理用户对于保持系统安全、有序且运行顺畅至关重要。掌握这些技能后,您可以确保每位用户仅能访问其所需的资源,从而降低因意外或未经授权而导致更改的风险。

如果您希望更深入地了解 sudo 权限的配置,建议查阅有关如何安全、有效地编辑 sudoers 文件的详细指南。

想要突破 VPS 的限制进行升级吗?BlueServers 提供功能强大且完全可定制的 独立服务器,专为需要顶级性能和可靠性的企业设计。凭借完全隔离的环境,您将对资源拥有完全控制权——无资源共享,无性能下降。每台服务器均根据您的需求量身定制,提供 CPU、内存、存储和操作系统的灵活选项。

尽享无限带宽,完美应对高流量和关键任务工作负载。无论您的业务位于北美、欧洲、亚洲还是其他地区,BlueServers 都支持您从任何国家部署专用基础设施,确保全球低延迟和高可用性。立即选择您的套餐,全面掌控您的托管环境。

Share

关于作者


scale 1
Ready to scale?

Start for free and unlock high-performance infrastructure with instant setup.

Get started arrow button

帮助我们改进 — 分享您的反馈

您的意见有助于我们提供更好的服务。