sudo - como confirmar a execução mas não solicitar senha

3

Estou procurando uma maneira de configurar sudo para não solicitar uma senha (por exemplo, adicionando a configuração NOPASSWD à /etc/sudoers , mas fazendo eco ao comando a ser executado para confirmação, pedindo algo

O comando cat /etc/passwd será executado? (y / N)

    
por Matthias Goldhoorn 07.03.2018 / 03:33

1 resposta

1

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
    
por 07.03.2018 / 03:52

Tags