사용자가 표시된 난수 문자열을 다시 입력하도록 요구하는 로그인 스크립트

사용자가 표시된 난수 문자열을 다시 입력하도록 요구하는 로그인 스크립트

현재 사용자가 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자리 난수가 생성됩니다.

관련 정보