当我输入时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
在创建用户后不要提示创建密码。