如何在不知道密码加密形式的情况下添加用户?

Jim*_*Jim 8 linux unix user-management sles user-accounts

我使用以下命令在 linux 机器中创建一个用户:

useradd -d /home/dummy -g idiots -m -p 12345689 dummy

创建用户和主目录。
问题是我无法使用此帐户登录系统,因为-p需要返回的加密密码crypto

问题:我想通过 bash 脚本创建一个用户,但我不知道crypto. 我该怎么做才能通过脚本自动创建这个用户并解决密码问题?

use*_*517 13

您可以使用 openssl 生成预加密的密码字符串以与 useradd 的 -p 选项一起使用

echo "P4sSw0rD" | openssl passwd -1 -stdin

$1$Jxmpx1Da$Y8MzBctIyDW8/7pFPbNWD1
Run Code Online (Sandbox Code Playgroud)

-1说生成一个MD5哈希密码。盐是自动生成的。

然后你可以使用

useradd -d /home/dummy -g idiots -m -p $(echo "P4sSw0rD" | openssl passwd -1 -stdin) dummy
Run Code Online (Sandbox Code Playgroud)

添加用户。以交互方式隐藏密码

useradd -d /home/dummy -g idiots -m -p $(read -sp Password: pw ; echo $pw | openssl passwd -1 -stdin) dummy
Run Code Online (Sandbox Code Playgroud)