linux中passwd --stdin命令的含义
在linux系统中,我们知道passwd是用来修改用户密码的命令。而--stdin是passwd命令的一个选项,用于从标准输入中读取密码。具体来说,使用passwd --stdin可以将标准输入中的内容作为新密码,通过管道传递给passwd命令,从而修改用户的密码。

[root@elasticsearch ~]# passwd --help | grep "stdin"
  --stdin                 read new tokens from stdin (root only)
[root@elasticsearch ~]#

假设我们为用户"test"设置一个新密码,可以使用以下命令:

echo "test" | passwd --stdin test

这里,echo命令会将"test"字符串输出到标准输出,然后通过管道(|)将其传递给passwd命令的--stdin选项。passwd命令接收到标准输入中的密码后,将其作为新密码设置给用户"test"。

[root@elasticsearch ~]# echo "test" | passwd --stdin test
Changing password for user test.
passwd: all authentication tokens updated successfully.
[root@elasticsearch ~]#

登录验证:

[test@elasticsearch ~]$ whoami
test
[test@elasticsearch ~]$