現在、ユーザーがLinuxサーバーにログインして最後に印刷したときに実行されるスクリプトがあります。
[Terms of use agreement prints here]
read -p "Agree and continue..." -nl -s
ただし、ほとんどのユーザーはスクリプトが特定の項目を見つけられないため、プロンプト(スペースバー、Enter、ランダムキーなど)を介して「入力」しており、ユーザーは入力するスクリプトまたはマクロを直接作成しました。過去に。
解決策として、スクリプトからランダムな数値文字列を印刷してからアクセスを許可する前に、ユーザーにプロンプトにその番号を再入力するように要求したいと思います。
例:
「サーバーへようこそ!続行するには、次の使い捨てパスワードを入力してください。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桁の乱数が生成されます。