在 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

最佳实践建议

  1. 使用 adduser 而不是 useradd:
    · adduser 更友好,会创建家目录、提示设置密码
    · useradd 是低级工具,需要更多参数
  2. 安全建议:
   # 创建用户时强制密码策略
   sudo adduser --disabled-password username  # 创建无密码用户
   sudo passwd username  # 随后设置强密码

   # 强制首次登录修改密码
   sudo passwd --expire username
  1. 验证用户创建成功:
   # 检查用户是否存在
   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

这样你就成功创建了新用户!根据你的需求选择合适的方法。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注