在 Ubuntu Server 中创建新用户有几种常用方法,以下是详细步骤:
方法1:使用 adduser 命令(推荐)
# 创建用户并设置密码
sudo adduser username
# 系统会交互式地提示:
# 1. 设置密码
# 2. 确认密码
# 3. 填写用户信息(可跳过)
方法2:使用 useradd 命令
# 基本创建用户(不创建家目录)
sudo useradd username
# 创建用户并同时创建家目录
sudo useradd -m username
# 创建用户并指定家目录路径
sudo useradd -m -d /path/to/home username
# 创建用户并指定登录shell
sudo useradd -m -s /bin/bash username
# 创建用户后需要手动设置密码
sudo passwd username
方法3:创建用户并添加到 sudo 组
# 创建用户
sudo adduser username
# 将用户添加到 sudo 组(获取管理员权限)
sudo usermod -aG sudo username
# 验证用户是否在 sudo 组
groups username
方法4:创建系统用户(无家目录,用于服务)
# 创建系统用户(无家目录)
sudo useradd -r username
# 或使用 adduser 创建系统用户
sudo adduser --system --no-create-home username
常用选项和参数
# 创建用户时指定UID
sudo useradd -u 1001 username
# 创建用户时指定主要组
sudo useradd -g groupname username
# 创建用户时指定多个附加组
sudo useradd -G group1,group2 username
# 设置用户过期时间
sudo useradd -e 2024-12-31 username
# 创建用户时设置注释信息
sudo useradd -c "User Description" username
用户管理相关命令
# 删除用户(保留家目录)
sudo userdel username
# 删除用户及家目录
sudo userdel -r username
# 修改用户属性
sudo usermod [options] username
# 锁定用户账户
sudo usermod -L username
# 解锁用户账户
sudo usermod -U username
# 查看用户信息
id username
finger username # 需要安装 finger 包
getent passwd username
最佳实践建议
- 使用 adduser 而不是 useradd:
· adduser 更友好,会创建家目录、提示设置密码
· useradd 是低级工具,需要更多参数 - 安全建议:
# 创建用户时强制密码策略
sudo adduser --disabled-password username # 创建无密码用户
sudo passwd username # 随后设置强密码
# 强制首次登录修改密码
sudo passwd --expire username
- 验证用户创建成功:
# 检查用户是否存在
grep username /etc/passwd
# 检查家目录是否创建
ls -la /home/username
# 测试登录
su - username
示例:完整创建流程
# 1. 创建开发人员用户
sudo adduser developer
# 2. 添加到必要组
sudo usermod -aG sudo,www-data,ssh developer
# 3. 配置SSH密钥(可选)
sudo mkdir -p /home/developer/.ssh
sudo nano /home/developer/.ssh/authorized_keys
# 粘贴公钥后设置权限
sudo chown -R developer:developer /home/developer/.ssh
sudo chmod 700 /home/developer/.ssh
sudo chmod 600 /home/developer/.ssh/authorized_keys
# 4. 禁用密码登录(仅允许SSH密钥,可选)
sudo nano /etc/ssh/sshd_config
# 修改:PasswordAuthentication no
sudo systemctl restart ssh
这样你就成功创建了新用户!根据你的需求选择合适的方法。