Linux useradd 命令详解:用于在 Linux 系统中创建新用户账号,并可以设置用户的主目录、Shell、用户 ID(UID)、组 ID(GID)等参数

Linux useradd 命令详解

useradd 命令用于在 Linux 系统中创建新用户账号,并可以设置用户的主目录、Shell、用户 ID(UID)、组 ID(GID)等参数。它是管理用户账户的重要工具之一,通常与 passwdusermoduserdel 等命令配合使用。


语法

useradd [选项] 用户名

参数说明

  • 用户名:要创建的新用户的名称。

常用选项

选项作用
-d 目录指定用户的主目录(默认 /home/用户名)。
-m如果主目录不存在,则自动创建主目录。
-s shell指定用户的默认 shell(如 /bin/bash)。
-g 组名指定用户的主组(必须是已存在的组)。
-G 组1,组2指定用户的附加组(多个组用逗号分隔)。
-u UID指定用户的用户 ID(UID)。
-c "描述"设置用户的描述信息。
-e YYYY-MM-DD指定用户账号的过期日期。
-f 天数账号过期后,多少天禁用(-1 表示永不禁用)。
-r创建系统用户(UID 小于 1000,不创建主目录)。

使用示例

1. 创建一个默认用户

sudo useradd user1

说明

  • /etc/passwd 中添加 user1 用户。
  • 使用 /bin/bash 作为默认 Shell。
  • 主目录未自动创建(需使用 -m)。

2. 创建用户并自动创建主目录

sudo useradd -m user2

说明

  • -m 选项确保 /home/user2 目录自动创建。

3. 创建用户并指定主目录

sudo useradd -m -d /opt/user3 user3

说明

  • -d /opt/user3 指定 user3 的主目录为 /opt/user3

4. 创建用户并指定 Shell

sudo useradd -m -s /bin/zsh user4

说明

  • -s /bin/zsh 指定 user4 使用 zsh 作为默认 Shell。

5. 创建用户并指定 UID

sudo useradd -m -u 1050 user5

说明

  • -u 1050 指定 user5 的 UID 为 1050

6. 创建用户并指定主组

sudo useradd -m -g developers user6

说明

  • -g developersuser6 加入 developers 组(组必须已存在)。

7. 创建用户并添加到多个附加组

sudo useradd -m -G wheel,docker user7

说明

  • user7 主要属于默认组,并额外加入 wheeldocker 组。

8. 创建用户并设置账号描述

sudo useradd -m -c "Test User" user8

说明

  • -c "Test User" 添加描述信息。

9. 创建用户并设置过期日期

sudo useradd -m -e 2025-12-31 user9

说明

  • -e 指定用户 user9 的账号在 2025 年 12 月 31 日过期。

10. 创建用户并设置密码(需手动输入)

sudo useradd -m user10
sudo passwd user10

说明

  • useradd 只创建用户,不设置密码,需 passwd 进行密码设置。

11. 创建系统用户

sudo useradd -r -m system_user

说明

  • -r 选项创建一个系统用户,UID 通常小于 1000。

查看用户信息

1. 检查用户是否存在

cat /etc/passwd | grep user1

示例输出:

user1:x:1001:1001::/home/user1:/bin/bash

2. 查看用户所属组

id user1

示例输出:

uid=1001(user1) gid=1001(user1) groups=1001(user1)

3. 显示用户详细信息

getent passwd user1

finger user1

删除用户

1. 仅删除用户,不删除主目录

sudo userdel user1

2. 删除用户并删除其主目录

sudo userdel -r user1

说明

  • -r 选项会删除 /home/user1 及用户相关文件。

修改用户信息

1. 修改用户名

sudo usermod -l newuser user1

2. 修改用户主目录

sudo usermod -d /new/path -m user1

3. 修改用户 Shell

sudo usermod -s /bin/zsh user1

常见问题及解决方案

1. useradd: Permission denied

原因

  • 需要 root 权限执行。

解决方案

sudo useradd user1

2. useradd: group 'developers' does not exist

原因

  • 指定的主组 developers 不存在。

解决方案

  • 先创建组:
    sudo groupadd developers
    
  • 然后再创建用户:
    sudo useradd -m -g developers user1
    

3. useradd: UID already in use

原因

  • 指定的 UID 已被其他用户占用。

解决方案

  • 选择一个未被占用的 UID,或让系统自动分配:
    sudo useradd -m user1
    

总结

  • useradd 用于创建新用户,默认不会创建主目录。
  • 通过 -m 选项自动创建主目录,-d 指定主目录,-s 指定 Shell。
  • 可以使用 -u 指定 UID,-g 指定主组,-G 指定附加组。
  • -e 设置账号过期时间,-r 创建系统用户。
  • 用户创建后,需 passwd 命令设置密码。
  • userdel 删除用户,-r 选项同时删除主目录。

useradd 是 Linux 用户管理的重要工具,配合 usermoduserdel 等命令可以高效管理用户账号。

这里是封面:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值