- 业务拓展经理
- 作者
用户管理是任何 Linux 系统管理员的一项基本技能。在初次搭建 Linux 服务器时,尤其是在 Ubuntu 系统上,您通常只能通过 root 账户进行访问。
虽然 root 用户赋予您对系统的完全控制权,但将其用于日常任务存在风险,甚至可能造成损害。更好的做法是为日常管理创建一个独立的非 root 用户。这有助于降低意外导致全系统范围变更的风险,并增强安全性。如果您管理的是多用户环境,每位用户都应拥有独立账户,以确保责任归属和权限分离。
对于需要管理员权限的操作,Ubuntu 提供了一个名为 sudo 的工具。该命令允许您在无需以 root 用户身份登录的情况下,以提升的权限执行任务。在本指南中,您将学习如何在 Ubuntu 上创建新用户、授予其 sudo 访问权限,以及在不再需要时安全地删除用户。
要跟随本用户管理教程操作:
要在 Ubuntu 系统中创建用户,可以使用 adduser 命令。如果您以 root 用户 身份登录,请运行:
$ adduser newuserUbuntu 创建用户
如果您使用的是具有 sudo 权限的普通账户,请使用:
$ sudo adduser newuser执行命令后,系统将引导您完成几个设置步骤:
完成后,新账户即可使用,用户可使用您刚设置的密码登录。
如果您希望该用户执行管理任务,请继续阅读下一节以授予其 sudo 权限。
如果您希望用户执行管理任务,需要授予其 sudo 权限。这允许用户在需要时以 root 用户身份运行命令。
通常有两种实现方法:
在 Ubuntu 20.04 和 24.04 等系统中,任何被添加到 sudo 组的用户都会自动获得管理员权限。
查看用户的当前所属组
要查看用户属于哪些组,请运行:
$ groups newuser默认情况下,用户仅属于其用户名同名的组。
将用户添加到 sudo 组
要授予 sudo 访问权限,请使用以下命令将用户添加到 sudo 组:
$ sudo usermod -aG sudo newuser除了使用组之外,您还可以通过编辑 sudo 配置文件直接分配 sudo 权限。
安全地打开 sudoers 文件
请务必使用 visudo 命令,该命令可防止语法错误,并确保在编辑过程中文件处于锁定状态。
以 root 身份:
# visudo以具有 sudo 权限的用户身份:
$ sudo visudoUbuntu 通常默认使用 nano 编辑器打开此文件,该编辑器对初学者非常友好。
添加用户的 sudo 条目
查找以下行:
root ALL=(ALL:ALL) ALL在其正下方添加:
newuser ALL=(ALL:ALL) ALL将 newuser 替换为您的实际用户名。此行赋予该用户完整的 sudo 权限,与 root 账户类似。
按 Y 保存更改,并使用 Ctrl + X 退出当前窗口。
您的用户现在拥有管理员权限。您可以通过切换到该用户并尝试执行如下 sudo 命令来验证:
$ sudo apt update如果您想授予受限的 sudo 权限(仅限特定命令),请告知我。
授予 sudo 权限后,您可以测试一切是否正常工作。
以新用户身份登录时,您可以像这样正常运行常规命令:
regular_command要以管理员权限运行同一命令,只需在命令开头添加 sudo:
$ sudo 常规命令系统会提示您输入当前用户账户的密码(而非 root 密码)。这是在允许提升权限之前对用户身份的验证。
如果某个用户账户不再需要,建议将其删除,以保持系统整洁和安全。
若要删除用户账户但保留其文件(如主目录),请以 root 身份运行以下命令:
# deluser newuser如果您使用的是具有 sudo 权限的普通账户:
$ sudo deluser newuser如果您希望同时删除用户及其主目录和个人文件:
$ sudo deluser --remove-home newuser这可确保系统上不会残留任何文件。
如果已删除的用户曾被手动授予 sudo 访问权限,您还应从 sudoers 文件中删除其条目。
请使用以下命令安全地打开该文件:
$ sudo visudo查找类似以下的一行:
newuser ALL=(ALL:ALL) ALL删除该行,以确保未来使用相同用户名的用户不会自动获得提升的访问权限。
如果您专门为该用户创建了一个组,且该组中没有其他用户,则可以删除该组:
$ sudo delgroup groupname这有助于保持组列表整洁,并减少系统权限中的冗余。
在您希望阻止用户访问系统,但又不希望永久删除其账户或文件的情况下,您可以锁定该账户,而不是将其删除。这对于临时停用或长期不活跃的用户非常有用。
禁用用户账户最简单的方法之一就是锁定其密码。这会阻止用户使用密码登录,同时保留其文件和设置。
以 root 身份运行:
# passwd -l 用户名作为 具有 sudo 权限的用户,请使用:
$ sudo passwd -l 用户名-l 选项 通过在 /etc/shadow 文件中加密密码的开头添加一个特殊字符(如 !)来锁定密码,使其无法使用。
若要重新启用用户的登录权限并恢复其原始密码,请执行:
$ sudo passwd -u 用户名-u 选项将解除密码锁定,允许用户使用之前的凭据再次登录。
通过禁用交互式 shell 来阻止用户登录
另一种限制访问的方式是将用户的默认 shell 设置为不支持交互式会话的 shell。
sudo usermod -s /usr/sbin/nologin 用户名或者:
sudo usermod -s /bin/false 用户名这将阻止用户在登录时打开 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 服务器的用户访问控制,降低风险,并保持更好的系统卫生。
要强制执行密码过期和更改策略:
查看当前密码设置:
$ 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 都支持您从任何国家部署专用基础设施,确保全球低延迟和高可用性。立即选择您的套餐,全面掌控您的托管环境。
Start for free and unlock high-performance infrastructure with instant setup.
您的意见有助于我们提供更好的服务。