Olá.
Sem motivo aparente, após iniciar o sistema, percebi que meu usuário deixou de ser administrador e saiu do arquivo
sudoers. Então, fiquei sem poderes para usar o comando
sudo.
Para piorar, o usuário
root estava sem senha, como é o padrão do
Lubuntu 12.10. Como corrigir o
sudo quebrado, neste caso?
"Googlei", achei uma solução e posto aqui.
Reinicie o sistema e pressione a tecla
Shift para entrar na tela de
GRUB.
Nela, escolha o modo de recuperação.
No menu da tela de recuperação, selecione a opção
root, para logar como "root".
Após isso, você estará como root, mas não tem poder para alterar nada, só pode ler.
Para ganhar permissão para alterar o sistema, execute:
# mount -o rw,remount /
Adicione o seu usuário ao grupo "sudo", com o seguinte comando:
# adduser [usuário] sudo
Depois ao grupo de administradores, com:
# adduser [usuário] adm
Por fim, faça o backup do arquivo
sudoers:
# cp /etc/sudoers /etc/sudoers.backup
Altere suas permissões:
# chmod 0440 /etc/sudoers
Saia:
# exit
No menu de recuperação, escolha a opção para continuar o boot do sistema.
Comigo funcionou!
Fonte:
psychocats « Fix Broken Sudo
Tive um problema similar quando alterei uma variável do sistema, especificamente criando a variável JAVA_HOME.
Após fazer essa alteração não só o sudo como outros comandos pararam de funcionar.
Bem, a solução que achei foi voltar e apagar a variável criada, todavia, como o sudo não estava funcionando, não rolava dar o comando #sudo gedit ~/.bashrc, então primeiro tive que liberar o sudo trazendo ele de volta via criação de uma caminho temporário.
No terminal primeiro digiteio comando #export PATH=$PATH:/usr/bin
Esse comando reativou o sudo então pude dar o comando #sudo gedit ~/.bashrc
Apaguei a variável JAVA_HOME que tinha criado, com o caminho errado e por acidente, salvei e voltei para o terminal
Digitei o comando #source ~/.bashrc e tudo voltou ao normal.