在 Linux 系统中,可以使用 useradd 或 adduser 命令创建用户。以下是详细步骤和常见用法,Linux新手必看,如何用useradd/adduser命令轻松创建用户?,Linux新手必看,如何用useradd/adduser命令轻松创建用户?
方法 1:使用 useradd
(基础用户创建)
sudo useradd -m 用户名 # -m 自动创建用户家目录(如 /home/用户名) sudo passwd 用户名 # 为用户设置密码(会提示输入两次密码)
常用选项详解
-m
:自动创建用户家目录(默认不创建,强烈建议使用此选项)-d /path/to/home
:自定义家目录路径(如-d /data/user1
)-s /bin/bash
:指定登录 Shell(默认可能是/bin/sh
,推荐指定为 bash)-G 组名
:将用户添加到附加组(多个组用逗号分隔,如-G sudo,developers
)-u 1001
:手动指定用户 UID(需确保唯一,1000 以上为普通用户)-e YYYY-MM-DD
:设置账户过期日期(适用于临时账户)-c "备注信息"
:添加用户描述信息(会显示在/etc/passwd
文件中)
实用示例
# 创建完整配置的开发用户 sudo useradd -m -s /bin/bash -G sudo,developers -c "开发人员账号" -u 1005 devuser # 创建系统服务账户(无家目录,禁止登录) sudo useradd -r -s /usr/sbin/nologin serviceuser # 创建带过期日期的临时账户(2024年底到期) sudo useradd -m -e 2024-12-31 tempuser
方法 2:使用 adduser
(交互式创建)
sudo adduser 用户名 # 交互式引导完成用户创建(Debian/Ubuntu 系列特有)
特点说明
- 全自动配置:自动创建家目录并设置正确权限(755)
- 交互式引导:逐步提示输入密码、全名、电话号码等用户信息
- 模板复制:自动将
/etc/skel
下的配置文件复制到新用户目录 - 发行版差异:部分 Linux 发行版(如 CentOS/RHEL)默认未安装此命令
- 安全性:强制要求设置强密码(会提示两次输入确认)
注意:
adduser
实际上是useradd
的友好前端,在 Debian 系发行版中更为常见,适合新手使用。
用户管理后续操作
删除用户账户
sudo userdel -r 用户名 # -r 同时删除家目录和邮件目录
重要提示:
- 删除用户前请确认该用户没有正在运行的进程,可使用
ps -u 用户名
检查- 建议先备份用户重要数据再执行删除操作
- 对于系统服务账户,删除前确保相关服务已停止
修改用户属性
# 修改用户登录 Shell sudo usermod -s /bin/zsh 用户名 # 追加用户到附加组(不影响原有组) sudo usermod -aG docker,www-data 用户名 # 修改家目录位置(-m 选项会自动移动原有文件) sudo usermod -d /new/home/dir -m 用户名 # 锁定/解锁账户 sudo usermod -L 用户名 # 锁定(在密码前加!) sudo usermod -U 用户名 # 解锁 # 修改用户名(同时修改家目录名) sudo usermod -l 新用户名 -d /home/新用户名 -m 旧用户名
查看用户信息
id 用户名 # 查看 UID、GID 和所属组 finger 用户名 # 查看详细信息(需安装 finger 包) getent passwd 用户名 # 查看账户基本信息 groups 用户名 # 查看用户所属组 last 用户名 # 查看用户登录历史 who -u # 查看当前登录用户 chage -l 用户名 # 查看账户密码过期信息
重要注意事项
-
权限要求:所有用户管理操作需要
root
或sudo
权限 -
配置文件位置:
/etc/default/useradd
:默认用户创建配置/etc/login.defs
:用户创建默认参数(UID/GID 范围、密码策略等)/etc/skel/
:新用户家目录模板文件(可自定义)/etc/passwd
:用户基本信息/etc/shadow
:用户密码哈希(仅 root 可读)/etc/group
:组信息
-
安全建议:
- 强制使用复杂密码(长度至少12字符,包含大小写、数字和特殊字符)
- 定期检查
/etc/passwd
和/etc/shadow
文件权限(应为644和400) - 对不再使用的账户及时锁定或删除
- 限制 root 直接登录,使用 sudo 替代
- 定期审计用户权限(特别是 sudo 权限)
-
系统用户:创建服务账户时使用
-r
选项,这类账户通常:- 没有家目录(除非特别指定)
- 使用
/usr/sbin/nologin
或/bin/false
作为 Shell - UID 通常小于 1000(普通用户通常从 1000 开始)
- 密码通常被锁定( 或 在密码字段)
高级技巧
批量创建用户
# 使用newusers命令批量创建(需要提前准备用户列表文件) echo "user1:x:1001:1001:User One:/home/user1:/bin/bash" > users.txt sudo newusers users.txt # 使用for循环批量创建 for user in dev1 dev2 dev3; do sudo useradd -m -s /bin/bash $user echo "$user:StrongPassword123!" | sudo chpasswd done
密码策略管理
# 设置密码过期策略 sudo chage -M 90 -m 7 -W 14 用户名 # 90天过期,最短7天修改,提前14天警告 # 强制下次登录修改密码 sudo passwd -e 用户名 # 查看密码策略 sudo chage -l 用户名
可视化操作(可选)
对于桌面环境用户,可通过系统设置中的"用户和组"工具进行图形化管理,主流桌面环境如:
- GNOME:
gnome-control-center user-accounts
- KDE:
kuser
- Xfce:
xfce4-user-settings
但命令行方式更适合服务器环境和管理批量操作,提供更精细的控制和自动化能力。
最佳实践建议:根据实际需求选择合适的方法,
useradd
更适合脚本自动化,而adduser
则适合交互式单用户创建,对于生产环境,建议结合自动化工具如 Ansible 进行用户集中管理。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!