要求用户重新输入显示的随机数字符串的登录脚本

要求用户重新输入显示的随机数字符串的登录脚本

我目前有一个脚本,在用户登录 Linux 服务器时运行,最后打印

[Terms of use agreement prints here]

read -p "Agree and continue..." -nl -s

然而,我发现大多数用户只是通过提示(空格键、回车键、随机键等)“输入”,因为脚本并不寻找特定的条目,现在用户已经编写了自己的脚本或宏来输入过去的内容。

作为解决方案,我希望脚本打印一串随机数字,然后要求用户在允许访问之前将这些数字重新输入到提示中。

例子:

“欢迎来到服务器!请输入以下一次性密码继续:1234。

钥匙: ”

我怎样才能做到这一点?

答案1

有必要使用读-p?否则,您可以执行以下操作(这将是概念验证脚本):

#!/bin/bash
RANDOMNUM=$(shuf -i 0000-9999 -n 1)
echo "Introduce password $RANDOMNUM"
read value
if [ $value == $RANDOMNUM ];
then
        echo "Password Match!"
else
        exit
fi

舒夫将创建 0000 到 9999 之间的 4 位随机数。

相关内容