Não é possível declarar / etc / sudoers: nenhum arquivo ou diretório

4

Eu estava usando o Ubuntu 14.04 apenas recentemente. E de alguma forma eu mudei a permissão para o arquivo /etc/sudoers . Então, toda vez que eu executo qualquer comando usando o sudo, recebo esses erros:

sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Consegui fazer o login como usuário e alterar as permissões novamente. Então, agora, quando eu executo o comando ls -l /etc/sudoers , obtenho:

-r--r----- 1 root root 755 жов 14  2016 /etc/sudoers

Mas não consegui tornar o root um proprietário. E eu ainda recebo os mesmos erros quando tento usar o sudo.

Eu li muitas coisas assustadoras sobre esse problema. Então você poderia me ajudar a resolver esse problema? Eu ficaria muito grato por conselhos.

    
por Cassie 16.04.2017 / 22:24

1 resposta

4

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.

    
por Ravexina 16.04.2017 / 23:55