Acho que a função abaixo pode resolver seu problema imediato:
sudo () {
local command=$@
read -rp "Shall command $command be executed? (y/N): "
local YORN_RESP="$(grep -i "[YN]" <<<"${REPLY:0:1}" || echo 'N')"
if [[ "$YORN_RESP" == [Yy] ]]; then
command sudo "$@"
else
return 1
fi
}
Contanto que esta função seja carregada, ela terá precedência sobre o comando sudo
, no entanto, isso não impedirá que as pessoas executem /bin/sudo
diretamente.
Para o sudo sem senha, parece que você já encontrou a solução, mas é preciso remover o comentário da seguinte linha no arquivo /etc/sudoers
:
%wheel ALL=(ALL) NOPASSWD: ALL