Atalho:
dpkg-reconfigure:
Se apenas algo estiver errado com a permissão do arquivo /etc/sudoers
, com o acesso root executado: dpkg-reconfigure sudo
. algo como pkexec dpkg-reconfigure sudo
deve fazer o trabalho.
visudo: Se dpkg-reconfigure
não funcionar para você, basta executar pkexec visudo
, o arquivo sudoers
será aberto em um editor, depois salve e feche o arquivo, visudo
irá corrigir a permissão para você.
Afinal, se você alterou sudoers.d
as permissões do diretório, execute:
pkexec chmod 755 /etc/sudoers.d
Se os arquivos estiverem lá e suas permissões estiverem como deveriam, mas você ainda receber essa mensagem de erro, a única possibilidade que me vem à mente é que você quebrou outras permissões e sudo
não tem acesso a /etc/sudoers
. o palpite mais possível é a permissão de /etc/
.
Então corra:
pkexec chmod 755 /etc
Já terminamos, mas se você quiser uma instrução detalhada para restaurar o arquivo sudoers
quebrado ou removido com permissões confusas, vamos usar outra maneira de corrigir as coisas.
Introdução
Eu mexi no arquivo /etc/sudoers
para receber um erro semelhante ao seu. Eu chego muito perto, então eu deletei completamente o meu e ele se tornou exatamente como o seu.
O que eu fiz para corrigir o problema:
Minha conta root estava bloqueada e não tinha senha, por isso era impossível fazer o que eu queria fazer. no entanto, se a sua conta root estiver ativa e tiver uma senha, mude para o usuário root com su -
e pule esta parte. se não, siga as instruções.
Antes de ir adiante, eu tenho que mencionar que você sempre pode usar um live disk para fazer um chroot
no seu sistema, existem muitas instruções sobre o chroot usando um live disk, então eu não vou para se preocupar em dar todas aquelas instruções novamente, em vez disso eu vou assumir que não temos nenhum disco ao vivo e vamos usar o que já temos, para corrigir esse problema. Se você está feliz com cheroot
, vá para o trabalho também.
Obtendo acesso root
- Reinicialize seu sistema
- Quando o grub aparecer pressione e para editá-lo
- No final da linha que começa com o linux, adicione
init=/bin/bash
- Pressione CTRL + X
Agora você será deixado em um shell bash com acesso root. primeiro remonte o sistema de arquivos com acesso de gravação:
mount -o remount,rw /
Em seguida, desbloqueie o usuário root e defina uma senha:
passwd -u root
passwd root
Agora, se o seu /etc/sudoers
ainda existir em /etc
, mova-o para outro local:
mv /etc/sudoers /etc/sudoers.broken
Porque nós vamos dizer ao nosso gerenciador de pacotes que este arquivo está faltando, e ele irá substituí-lo por um correto, então ele não deveria estar lá.
Estamos quase prontos, reinicie seu sistema. Entre como seu usuário normal, abra um terminal e tente su -
para mudar para o usuário root. Eu não fui capaz de fazer isso, então o que eu fiz foi usando CTRL + ALT + F1 , para ir em tty1
, então eu entrei como root com a nova senha que acabamos de definir.
Traga de volta sudoers
Nós simplesmente devemos reinstalar o pacote sudo
, no entanto, a reinstalação não traz esse arquivo de volta, devemos dizer ao dpkg
para corrigir os arquivos de configuração que estão faltando, assim:
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall sudo
Lembre-se de que ele perguntará sobre como instalar o arquivo /etc/sudoers
, inserindo y
say yes.
Se não funcionou para você, faça o seguinte como root:
mkdir /root/tmp
cd /root/tmp
apt-get download sudo
dpkg-deb -x sudo*.deb .
cp etc/sudoers /etc/sudoers
cd /root
rm -r tmp
Agora pode haver alguma diferença entre as permissões, execute dpkg-reconfigure sudo
para corrigi-lo. se não funcionar, execute visudo
como usuário root, o arquivo sudoers
será aberto em um editor, depois salve e feche o arquivo, visudo
irá corrigir a permissão para você.
Se tudo der certo, o seu arquivo sudoers estará de volta e você poderá usar o sudo como era antes.