#!/bin/sh trap report SIGINT SIGTERM function askpw { # echo -n "Password:" read -s -p "Password:" password password="" echo "" echo "Sorry, try again." } function report { stty echo # Fix echo if ^C during password prompt ( whoami ; date ) | mailx -s "Someone sudo'ed (`id -un`, ${SSH_CONNECTION})" root exit 1 } function main { for try in 1 2 3; do askpw; done echo "sudo: 3 incorrect password attempts" report } main