Linux 中的 adduser 与 useraddLinux 中的 adduser 与 useraddLinux 中的 adduser 与 useraddLinux 中的 adduser 与 useradd
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux 中的 adduser 与 useradd

发表 admin at 2025年2月28日
类别
  • 未分类
标签

所有 Linux 系统都可以访问数百或数千个不同的命令。其中一些命令具有类似的目的,尽管通常有一个特定的工具更适合某些工作。 Linux 上的 adduser 和 useradd 命令就是这种情况。

尽管这些命令提供相同的一般功能,但一个是用于添加新用户帐户的高级实用程序,另一个是用于添加新用户帐户的低级实用程序。如果您不确定这意味着什么,请不要担心,我们会解释一切。

在本教程中,您将了解 Linux 中 adduser 和 useradd 命令之间的区别。您还将看到如何使用这两种工具的命令示例,并了解哪种场景适合其中一种工具。

在本教程中您将学习:

  • adduser 和 useradd 之间有什么区别

  • 什么情况下使用adduser或useradd更好

  • 通过示例如何使用 adduser 或 useradd 命令

adduser 和 useradd 命令有什么区别?

简单来说,adduser是给Linux用户使用的命令,useradd是给系统使用的命令。从技术角度来说,这意味着 adduser 提供用于添加新用户的高级接口,而 useradd 提供低级接口。

这两个命令基本上执行相同的功能,但 adduser 更易于使用,并且具有一些用户友好的功能,例如交互式提示,要求您提供有关您尝试添加的新用户帐户的信息。由于 adduser 是为 Linux 用户设计的,因此当开发人员更新它或引入自己的实现时,它不会引起太大的麻烦。只有用户受到影响。另一方面,useradd 接收的更新较少,并且需要保持向后兼容。系统函数和脚本依赖于useradd的可预测性。

因此,这就解释了为什么这两个命令都是必要的。由于命令很容易混淆并且功能基本相同,因此会出现混乱。您会发现很多文档和指南告诉用户执行其中一个命令,并且几乎可以互换使用这两个命令。此外,useradd 是这两个命令中较旧的命令,并且在各种 Linux 发行版中保持更一致,因此某些用户可能更喜欢使用它,尽管它不如 adduser 用户友好>。

作为普通 Linux 用户,在向系统添加新用户时应该使用 adduser。如果您是开发人员,您将在创建的脚本或程序中使用useradd,以确保不同发行版和未来更新之间的兼容性。

观察上面的屏幕截图,我们使用 adduser 和 useradd 命令向系统添加新用户帐户。从输出中可以看到,adduser 命令提示我们输入相关信息来配置用户帐户,并给出一些指示用户创建过程的输出。

另一方面,useradd 绝对没有给我们任何输出(这实际上意味着用户创建成功)。之后要配置密码,我们需要执行 passwd 命令,而 useradd 默认情况下会要求我们提供此信息。

adduser 和 useradd 的命令示例

您可以通过打开命令行终端并使用 root 权限执行任一命令来了解如何使用 adduser 和 useradd 命令。按照下面的一些示例来了解这两个命令的语法。

添加用户命令示例

  1. 要将新用户添加到系统,通常您不需要指定任何其他选项。只需提供您要添加的用户的名称 - 在本例中为 testuser。

    
    $ sudo adduser testuser
    

    这将产生一个提示,询问您基本的用户信息,并使用 /etc/adduser.conf 中提供的发行版设置应用于新用户。

  2. 要添加新的系统用户而不是普通用户帐户,请附加 --system 选项。

    
    $ sudo adduser --system testuser
    
  3. 使用 --group 选项并提供您要添加的组的名称来添加新用户组。在本例中,名称为 testgroup。

    
    $ sudo adduser --group testgroup
    
  4. 要为新帐户配置与默认目录不同的主目录,请使用 --home 选项并提供新用户主目录的路径。在此示例中,我们将使用 /home/accounts/testuser 目录。

    
    $ sudo adduser --home /home/accounts/testuser testuser 
    
  5. 如果您不想为用户设置新密码,请在 adduser 命令中附加 --disabled-login 选项。

    
    $ sudo adduser --disabled-login testuser
    
  6. 使用 --shell 选项配置除默认 shell 之外的某些系统 shell。在命令中提供 shell 的路径 - 在本例中为 /bin/sh。

    
    $ sudo adduser --shell /bin/sh testuser
    

useradd 命令示例

  1. 要创建新用户,只需在 useradd 命令中指定用户名即可。

    
    $ sudo useradd testuser
    

    请注意,与 adduser 命令不同,这不会提示您输入其他信息。不会配置密码,也不会自动创建主目录。要配置密码,请继续运行 passwd 命令。

  2. 如果您希望 useradd 命令为您的用户创建新的主目录,则需要附加 -m 选项。

    
    $ sudo useradd testuser -m
    
  3. 要为新用户配置自定义主目录,您需要像前面的示例一样使用 -m 选项,但还要添加 -d 选项并指定主目录的新路径。

    
    $ sudo useradd testuser -m -d /home/accounts/testuser
    
  4. 将 -s 选项添加到您的命令中以指定用户的默认 shell。这是他们每次登录时都会看到的 shell。在此示例中,我们将使用 /bin/sh。

    
    $ sudo useradd -m testuser -s /bin/sh
    

注意
您始终可以使用 man 命令来阅读有关 adduser 和 useradd 命令及其官方文档的更多信息。单击上一个链接可查看如何打开 Linux 系统上任何命令的手册页。

结束语

在本指南中,我们了解了 adduser 和 useradd 之间的区别。我们还看到了这两种工具的命令示例。总而言之,adduser 是 useradd 的用户端替代品。这两个命令都是相关的并将继续存在,因为一个命令适用于高级功能,另一个命令适用于低级别功能。

©2015-2025 Norria support@norria.com