在AlmaLinux服务器中,通过终端执行useradd命令即可快速创建新用户,随后使用passwd命令设置密码并赋予sudo权限,这是保障服务器安全与多用户协作的基础操作。
很多刚接触Linux系统的朋友,面对黑底白字的终端界面往往会感到一丝陌生,创建用户并不像Windows那样点击鼠标即可完成,它更像是一次严谨的“身份注册”,在AlmaLinux这样基于RHEL的企业级系统中,每一个用户都代表着特定的权限边界,理解如何正确创建用户,不仅是为了方便多人协作,更是为了遵循最小权限原则,防止因权限过大而引发的安全隐患。
AlmaLinux命令行创建用户完整流程
创建用户并非单一命令的简单执行,而是一个包含创建、配置、权限分配的系统性过程,我们将这一过程拆解为三个关键步骤,确保你能够清晰地掌握每一个环节。
第一步:使用useradd命令初始化账户
在终端中,最基础的操作是使用useradd命令,这个命令的作用是告诉系统:“请为我建立一个新用户档案。”
当你输入useradd username时,系统会在后台完成一系列动作:
- 在/etc/passwd文件中添加一行记录,定义用户的基本信息。
- 在/etc/shadow文件中创建对应的条目,用于存储加密后的密码。
- 在/home目录下创建一个与用户名同名的主目录,作为用户的个人工作空间。
- 复制/etc/skel目录下的隐藏文件(如.bashrc)到新主目录,配置默认环境。
创建一个名为devops的用户,命令如下:
sudo useradd devops
这里需要注意,sudo是必须的,因为创建用户属于系统级操作,普通用户没有权限修改系统核心文件,如果你忘记加sudo,系统会返回“Permission denied”错误。
常用参数详解
useradd支持丰富的参数,可以根据实际需求灵活调整:
- -m:强制创建用户主目录,虽然AlmaLinux默认通常会创建,但显式指定更保险。
- -d:指定主目录路径。-d /home/devops_data`,将主目录创建在非标准位置。
- -s:指定登录Shell,默认通常是`/bin/bash`,若需限制为只读Shell,可设为`/bin/nologin`。
- -G:将用户添加到附加组。-G wheel,docker`,让用户同时属于wheel和docker组。

第二步:设置用户密码
创建完用户后,账户处于“锁定”状态,因为没有设置密码,此时登录会提示认证失败,必须使用passwd命令来激活账户。
sudo passwd devops
执行后,系统会提示你输入两次密码,Linux终端出于安全考虑,输入密码时屏幕上不会显示任何字符(包括星号),这是正常现象,盲输即可。
业内专家指出,密码强度是服务器安全的第一道防线,建议密码包含大小写字母、数字及特殊符号,长度至少12位,对于生产环境,避免使用常见字典词汇。
第三步:赋予sudo管理员权限
在AlmaLinux中,普通用户默认无法执行系统管理命令,如果需要让新用户拥有管理员权限,需要将其加入wheel组。wheel组是RHEL系发行版中默认拥有sudo权限的用户组。
sudo usermod -aG wheel devops
参数-aG意为“追加(append)到组(group)”,而不是替换原有组,如果只写-G,用户可能会失去其他已有的组权限。
验证权限是否生效,可以切换到该用户并执行sudo命令:
su - devops
sudo whoami
如果输出root,说明配置成功,首次使用sudo时,系统会要求输入该用户的密码,而非root密码。
AlmaLinux用户管理与常见问题排查
创建用户只是开始,后续的管理和维护同样重要,在实际运维场景中,你可能会遇到各种细微的问题,了解这些细节能帮你节省大量时间。
如何验证用户是否创建成功?
可以通过多种方式确认用户状态,最直接的方法是查看/etc/passwd文件:
grep devops /etc/passwd
输出结果应类似:
devops:x:1001:1001::/home/devops:/bin/bash
字段解析:
- 用户名:devops
- 密码占位符:x(表示密码存储在shadow文件中)
- UID:1001(用户ID,系统自动分配)
- GID:1001(组ID)
- 主目录:/home/devops
- Shell:/bin/bash
使用id命令可以查看用户的详细身份信息:
id devops
用户删除与清理
当用户不再需要时,应及时清理,使用userdel命令:
sudo userdel devops
默认情况下,userdel只删除用户账户,保留主目录,若要彻底删除用户及其主目录,需加上-r参数:
sudo userdel -r devops
行业共识认为,定期清理僵尸账户是服务器安全审计的重要环节,未使用的账户可能被攻击者利用作为跳板,因此养成“用完即删”的习惯至关重要。
批量创建用户的场景应用
对于需要大量创建用户的场景,如学校机房或测试环境,手动逐个创建效率低下,此时可以使用脚本或循环命令。
创建一个包含10个用户的脚本:
for i in {1..10}; do
sudo useradd user$i
echo "user$i:password123" | sudo chpasswd
done
这段代码会创建user1到user10,并统一设置密码为password123,虽然便捷,但生产环境中不建议使用硬编码密码,应结合密钥认证或更复杂的密码生成策略。
AlmaLinux用户权限与安全最佳实践
权限管理是Linux安全的核心,除了基本的sudo配置,还有一些进阶技巧值得掌握。
限制用户登录
如果创建用户仅用于运行特定服务(如Web服务器进程),而不需要交互式登录,应禁用其Shell。
sudo usermod -s /sbin/nologin devops
这样,即使知道密码,该用户也无法通过SSH或终端登录系统,只能用于文件所有权归属或服务运行。
查看用户登录历史

审计用户行为是安全运维的一部分,使用last命令可以查看最近的登录记录:
last devops
输出包括登录时间、来源IP、终端类型等信息,结合lastb可以查看失败的登录尝试,有助于发现暴力破解攻击。
用户组管理的灵活性
除了wheel组,还可以创建自定义组来管理权限,创建一个developers组,并将特定文件权限授予该组。
sudo groupadd developers
sudo usermod -aG developers devops
然后修改文件权限:
sudo chgrp developers /var/www/project
sudo chmod 775 /var/www/project
这样,属于developers组的用户可以对项目目录进行读写,而其他用户只能读取,这种细粒度的控制比直接赋予sudo权限更安全。
常见问题Q&A
AlmaLinux命令行创建用户失败怎么办?
如果执行useradd时提示“user already exists”,说明用户名重复,Linux系统要求用户名唯一,你可以使用id username检查用户是否存在,或换一个未使用的用户名。
如何修改已存在用户的用户名?
直接使用usermod -l newname oldname命令即可重命名用户,注意,这会同时更新主目录名称和所有相关权限文件,操作前建议备份重要数据,以防路径引用错误。
AlmaLinux服务器如何创建用户并设置SSH密钥登录?
首先按标准流程创建用户并设置密码,切换到新用户,创建.ssh目录并设置权限:
mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
将你的公钥内容追加到authorized_keys文件中,这种方式比密码更安全,且支持自动化脚本操作。
在AlmaLinux环境中,命令行创建用户虽看似简单,却蕴含着深刻的权限管理哲学,掌握useradd、passwd和usermod等核心命令,不仅能提升运维效率,更能构建起坚实的安全防线,每一个账户都代表着信任的边界,谨慎管理,方能长治久安。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/407883.html

