Когда долго работаешь по ssh с удаленным сервером, можешь случайно, так сказать по инерции вырубить его, как привык делать с домашней машиной. И даже пароль вводится уже по инерции. В лучшем случае придётся бежать в серверную, в худшем ехать в другой город и так далее. Появилась такая идея: требовать подтверждения на исполнение определенных команд, например при помощи такого скрипта:
#!/bin/sh
# Количество символов подтверждения
mnpus_sym=8
# Количество попыток
mnpus_cnt=3
[ "$1" ] || { echo "Use: basename $0 <command>" ; exit ; }
while [ ! "$mnpus_cnt" -eq "0" ] ; do
mnpus_str="`head /dev/urandom | tr -dc 'a-zA-Z0123456789' | \
cut -c 1-${mnpus_sym}`"
printf "Confirm the command, enter this code: \033[36;1m${mnpus_str}\033[0m > "
read mnpus_inp
if [ "${mnpus_str}" = "${mnpus_inp}" ] ; then
exec ${@}
else
echo "Enter the wrong code."
fi
mnpus_cnt=`expr ${mnpus_cnt} - 1`
done
Используется ли где-нибудь такое уже? И как вам идея?