Adduser 命令在 Linux 中不起作用

Adduser 命令在 Linux 中不起作用

当我输入时adduser -m *username*,我从终端收到以下信息:

bash: adduser: command not found

(在西班牙语中orden no encontrada

我尝试安装adduser但它已经安装好了。

答案1

这是因为它不是所有 Linux 发行版都原生的,useradd而是原生命令。adduser是一个实现 Perl 的用户友好版本:

Useradd 是 Linux 内置命令,可以在任何 Linux 系统中找到。但是,用这种低级命令创建新用户是一项繁琐的任务。

Adduser 不是标准的 Linux 命令。它本质上是一个在后台使用 useradd 命令的 Perl 脚本。此高级实用程序在 Linux 上正确创建新用户方面效率更高。所有新用户的默认参数也可以通过 adduser 命令设置。

检索:https://linuxhandbook.com/useradd-vs-adduser/

如果你使用基于 Debian 的发行版(Ubuntu 等)你可以使用以下命令安装它:

sudo apt-get update
sudo apt-get install adduser

如果不起作用,请检查是否useradd安装正确。

否则,如果您使用的不是基于 Debian 的系统(Redhat 等)您可能只想坚持使用 useradd...我认为他们不支持adduser

如果你使用的是 Debian 系统,并且安装不起作用您的路径变量可能存在问题。您可以在此处了解更多信息 https://youtu.be/Jp0WWDSJ3Ac

答案2

如果“useradd”不起作用,请检查您的 PATH 变量。检查 /usr/sbin/useradd 下是否存在 useradd。默认情况下它应该存在。

$ echo PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

将“/usr/sbin”分配给路径。

$ $PATH=/usr/local/bin:/usr/bin:/usr/sbin:/bin:/usr/local/games:/usr/games
$ export PATH

现在“useradd”应该可以工作了。

$ useradd -help|more
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

答案3

对此的另一种看法:

我正在使用一个容器镜像(azul/zulu-openjdk如果有人感兴趣的话),它看起来/usr/sbin/useradd真的不存在。adduser然而,它存在并致力于创建用户。但要小心,因为它的选项与命令略有不同useradd

例如

adduser -u <numeric uid> -G <primary group> -D <username>

-D告诉adduser在创建用户后不要提示创建密码。

相关内容