在 Linux 系统管理中,为新用户设置账户是基础且重要的操作,这不仅能确保系统安全,还能为不同使用者提供独立的工作环境,本文将详细介绍在 Linux 系统中创建新用户、配置权限、管理用户组及相关安全设置的全过程,帮助管理员高效完成用户管理任务。

创建新用户的基本命令
在 Linux 中,最常用的创建用户命令是 useradd 和 adduser。useradd 是底层的命令,参数丰富但需要手动指定选项;adduser 是 useradd 的交互式封装,适合新手使用,会提示输入用户信息并自动生成默认配置。
使用 useradd 创建用户
基本语法为 useradd [选项] 用户名,常用选项包括:
-m:自动创建用户主目录(默认/home/用户名);-s:指定用户登录 shell,如/bin/bash(默认为/bin/sh);-G:将用户加入附加用户组;-c:添加用户注释信息(如真实姓名)。
创建一个名为 testuser 的用户,主目录为 /home/testuser,登录 shell 为 /bin/bash,可执行:
sudo useradd -m -s /bin/bash -c "Test User" testuser
使用 adduser 创建用户
直接运行 sudo adduser testuser,系统会依次提示设置用户密码、全名、房间号、电话等信息,完成后自动创建主目录并复制配置文件(如 /etc/skel 目录下的隐藏文件),操作更直观。
设置用户密码
用户创建后,默认无法登录,需手动设置密码,使用 passwd 命令,格式为 sudo passwd 用户名,例如为 testuser 设置密码:
sudo passwd testuser
系统会提示输入两次密码(密码不显示),设置成功后即可用该用户身份登录,为确保安全,密码应包含大小写字母、数字及特殊字符,长度建议至少 8 位。
若需要修改密码,可直接运行 passwd(修改当前用户密码)或 sudo passwd 用户名(管理员修改其他用户密码)。

用户组管理
Linux 中的用户组用于简化权限管理,每个用户至少属于一个主用户组(与用户名同名),还可加入多个附加用户组。
查看用户组
使用 groups 命令可查看当前用户所属组,或 groups 用户名 查看指定用户组。
groups testuser # 输出:testuser : testuser
修改用户主组
创建用户时,主组默认与用户名同名,若需修改主组,可使用 usermod -g 新组名 用户名,例如将 testuser 的主组改为 developers:
sudo usermod -g developers testuser
添加用户到附加组
使用 usermod -G 组1,组2 用户名 可将用户加入多个附加组,例如将 testuser 加入 sudo 和 docker 组:
sudo usermod -G sudo,docker testuser
注意:此操作会覆盖原有附加组,若需保留原组,需加上 -a 选项(-aG),
sudo usermod -aG sudo,docker testuser
创建与删除用户组
使用 groupadd 组名 创建新组,groupdel 组名 删除组(需确保组内无用户)。
sudo groupadd developers # 创建 developers 组 sudo groupdel developers # 删除 developers 组
用户权限配置
sudo 权限
若需允许普通用户执行管理员命令,可将其加入 sudo 组,在 /etc/sudoers 文件中,%sudo ALL=(ALL:ALL) ALL 表示 sudo 组内用户可执行所有命令(需输入密码),若需精细控制,可编辑 /etc/sudoers.d/ 目录下的配置文件,例如为 testuser 设置仅允许执行 /usr/bin/apt 命令:

echo "testuser ALL=(ALL) /usr/bin/apt" | sudo tee /etc/sudoers.d/testuser
文件权限与用户
用户创建后,主目录默认权限为 700(仅用户本人可读写执行),若需调整文件所有者,可使用 chown 命令,例如将 /home/testuser 的所有者改为 testuser:
sudo chown -R testuser:testuser /home/testuser
若需允许其他用户访问,可修改权限,755(用户可读写执行,其他用户可读执行)。
用户管理进阶操作
修改用户信息
使用 usermod 可修改用户属性,
- 更改用户名:
sudo usermod -l 新用户名 旧用户名(需同时修改主目录名); - 锁定/解锁用户:
sudo usermod -L 用户名(锁定后无法登录)、sudo usermod -U 用户名(解锁); - 更改登录 shell:
sudo usermod -s /bin/zsh 用户名。
删除用户
使用 userdel 命令删除用户,默认仅删除用户账户,保留主目录,若需同时删除主目录及数据,加 -r 选项:
sudo userdel -r testuser
查看用户详情
使用 id 命令可查看用户 UID、GID 及所属组,
id testuser # 输出:uid=1001(testuser) gid=1001(testuser) 组=1001(testuser),27(sudo),999(docker)
安全注意事项
- 密码策略:通过
/etc/login.defs文件可配置密码最小长度、有效期等策略,PASS_MIN_LEN 8设置密码最小长度 8 位。 - 禁用root直接登录:编辑
/etc/ssh/sshd_config,将PermitRootLogin设为no,并重启 SSH 服务,增强系统安全性。 - 定期审查用户:使用
last命令查看用户登录记录,cut -d: -f1 /etc/passwd列出所有系统用户,及时发现异常账户。
通过以上步骤,可完成 Linux 系统中新用户的完整设置与管理,合理的用户配置不仅能提升系统安全性,还能为不同用户提供独立、稳定的工作环境,是 Linux 系统维护的基础技能。


















