Se você estiver em uma instância de nuvem, terá mais problemas.
Existem técnicas que dependem da distribuição, mas se você já tiver o Docker instalado e em execução, geralmente poderá passar por um contêiner do Docker para corrigir o problema. Isso ocorre porque, geralmente, o serviço Docker está sendo executado como raiz e qualquer coisa feita em um volume montado dentro do contêiner é afetada como raiz no host.
No host:
docker run --rm -ti -v /etc:/usr/local/etc busybox sh
O "busybox" é apenas uma pequena distro que não demora muito para ser baixada. Se você já tem uma imagem do Docker com um shell disponível, use isso.
No contêiner do Docker:
cd /usr/local/etc
vi sudoers
Você pode ter adicionado um arquivo inválido ao diretório /etc/sudoers.d/
. Nesse caso, provavelmente basta remover esse arquivo.
Quando você sair do contêiner, poderá sudo
novamente.
Ufa!