用户管理基础
在Linux系统中,用户账号是系统安全与管理的基础,无论是个人服务器还是企业级环境,合理创建和管理用户账号都是系统管理员的核心工作之一,Linux通过用户(User)和用户组(Group)的机制实现权限隔离,确保不同用户只能访问其授权的资源,本文将详细介绍Linux系统中添加用户账号的完整流程,包括命令行操作、权限配置、安全设置及最佳实践。

使用useradd命令创建用户
Linux中最基础的创建用户命令是useradd,其本质是在系统中添加一个新用户条目,包括创建用户主目录、设置默认Shell等操作,基本语法为:
sudo useradd [选项] 用户名
常用选项包括:
-m:自动创建用户主目录(默认情况下,useradd不会创建主目录);-s:指定用户登录的Shell,如/bin/bash(交互式Shell)或/sbin/nologin(禁止登录);-d:自定义用户主目录路径,默认为/home/用户名;-g:指定用户的主用户组,需确保该组已存在;-G:将用户添加到附加用户组,多个组用逗号分隔;-c:添加用户注释信息,如真实姓名;-r:创建系统用户(无主目录、UID小于1000,通常用于服务进程)。
创建一个名为devuser的用户,主目录为/home/devuser,Shell为/bin/bash,并附加sudo和docker组:
sudo useradd -m -d /home/devuser -s /bin/bash -G sudo,devuser devuser
设置用户密码
创建用户后,必须设置密码才能正常登录,使用passwd命令为用户修改密码,需以root或具有sudo权限的用户身份执行:
sudo passwd devuser
系统会提示输入两次密码,密码不会显示在终端中(输入时无回显),为增强安全性,建议密码包含大小写字母、数字及特殊字符,长度至少12位。
若需批量创建用户并设置初始密码,可通过chpasswd命令实现,从文件users.txt中批量创建用户(文件格式为用户名:密码):
sudo chpasswd < users.txt
配置用户权限
sudo权限
默认情况下,普通用户无法执行需要管理员权限的操作,若需允许用户使用sudo,需将其加入sudo组(在Ubuntu/Debian中)或编辑/etc/sudoers文件(在CentOS/RHEL中)。

以Ubuntu为例,将用户添加到sudo组:
sudo usermod -aG sudo devuser
验证权限:
sudo -l -U devuser
文件权限与用户组
通过用户组管理文件权限是Linux的常用策略,创建一个developers组,并将多个用户加入该组,然后设置目录组权限:
sudo groupadd developers sudo usermod -aG developers devuser sudo chown -R :developers /project/code sudo chmod -R 775 /project/code
这样,developers组的成员均可读写和执行目录中的文件,而其他用户无权限。
用户管理进阶操作
修改用户信息
使用usermod命令可修改已创建用户的属性,
- 更改用户名:
sudo usermod -l newname oldname - 锁/解锁用户:
sudo usermod -L devuser(锁)、sudo usermod -U devuser(解锁) - 更改主目录:
sudo usermod -d /new/home -m devuser(-m会自动迁移文件)
删除用户
若需删除用户及其主目录,使用userdel命令:
sudo userdel -r devuser # `-r`会同时删除用户主目录和邮件文件
仅删除用户条目(保留主目录):sudo userdel devuser。

查看用户信息
- 查看用户基本信息:
id devuser(显示UID、GID及所属组) - 查看系统所有用户:
cat /etc/passwd(每行代表一个用户,格式为用户名:密码:UID:GID:注释:主目录:Shell) - 查看登录用户:
who或w(显示当前登录用户及终端信息)
安全最佳实践
使用强密码策略
通过/etc/login.defs和/etc/pam.d/common-password配置密码复杂度要求,
- 最小长度:
PASS_MIN_LEN 12 - 密码有效期:
PASS_MAX_DAYS 90(强制定期更换密码)
限制SSH登录用户
编辑/etc/ssh/sshd_config文件,使用AllowUsers或AllowGroups指令限制允许登录的用户或组:
AllowUsers devuser adminuser
AllowGroups developers
重启SSH服务:sudo systemctl restart sshd。
禁用无用账号
对于长期不使用的系统账号(如test、guest),建议锁定或删除,避免安全风险:
sudo usermod -L test # 锁定账号
Linux用户管理是系统运维的基础技能,从创建用户、设置密码到配置权限,每一步都需兼顾安全性与易用性,通过useradd、usermod、passwd等命令,管理员可以灵活管理系统账号;结合用户组、sudo权限及SSH限制策略,可有效提升系统安全性,在实际操作中,建议遵循最小权限原则,定期审查用户账号,确保系统既满足功能需求,又避免潜在风险。



















