A propriedade de pelo menos um dos arquivos importantes do sistema está errada. Isso é uma coisa ruim; se isso aconteceu com muitos arquivos do sistema (talvez você tenha executado um grande sudo chown
comando com o -R
sinalizador em algum momento?), isso pode causar vários outros erros e instabilidades do sistema. Portanto, se você instalou o Ubuntu recentemente , convém reinstalá-lo como sugere Adam Heathcote .
Mas você não precisa reinstalar para corrigir esse problema . Em vez disso, apenas corrija a propriedade desse arquivo. Se você receber erros sobre outros arquivos depois disso, poderá corrigi-los também (embora seja necessário nos informar quais são as mensagens de erro, para que possamos ajudá-lo a corrigi-los).
sudo
não funciona, mas usarsudo
é uma das duas maneiras para os administradores executarem ações como raiz no Ubuntu. O outro é o Polkit (que costumava ser chamado PolicyKit).
Execute este comando, que usa o Polkit (via pkexec
) para alterar a propriedade de /usr/lib/sudo/sudoers.so
volta para root
(ou seja, uid 0):
pkexec chown root /usr/lib/sudo/sudoers.so
Em seguida, tente usar sudo
novamente. Você pode executar algo trivial como e ver se você recebe uma mensagem de erro.sudo ls
Por fim, recomendo executar history
para revelar todos os comandos que você executou. Espero que isso liste todos os comandos que você executou que mudaram de permissão. Supondo que sudo
agora funcione, recomendo postar uma nova pergunta, incluindo a saída de history
, para obter ajuda para desfazer todas as alterações de propriedade e permissões de arquivo que você fez.
Se pkexec
também não funcionar ...
Você tentou pkexec
e não funcionou. Como sudo
nem o Polkit está trabalhando para permitir que você execute ações como raiz, você precisará inicializar no modo de recuperação e obter um shell raiz. Para fazer isso, mantenha pressionado Shiftdurante a inicialização do computador, para garantir que você obtenha um menu de inicialização visível do GRUB. Selecione uma entrada que contenha o modo de recuperação de palavras (geralmente, você deve selecionar a mais próxima da parte superior que possui essas palavras). Em seguida, você terá um menu com várias opções - selecione a opção para largar em um shell raiz.
Instruções detalhadas sobre como acessar um shell raiz no modo de recuperação estão aqui:
Depois de ter um shell raiz, execute:
chown root /usr/lib/sudo/sudoers.so
Se você receber um erro sobre o arquivo ou sistema de arquivos não ser modificável, remonte-o novamente:
mount -rw -o remount /
(Fonte para a idéia de remontar e como fazê-lo: essa resposta não está relacionada .)
Depois de executar esse mount
comando, execute o chown
comando acima novamente e verifique se ele funciona.
Quando terminar no modo de recuperação, você poderá reiniciar executando:
reboot
sudo
deve funcionar ou, pelo menos, dar algum outro erro.
Por fim, observe que, dados os erros que você mostrou, é provável que muitos arquivos tenham agora a propriedade ou as permissões incorretas. Seria ideal se você descobrisse quais arquivos foram modificados dessa maneira. Por exemplo, se você descobrir que todos os arquivos estão em algumas pastas específicas, poderá ser possível corrigir a extensão completa dos problemas recentes que você está enfrentando.
A reinstalação é definitivamente uma opção, mas especialmente se tudo o que você alterou foi propriedade (e não permissões, que são um pouco mais difíceis de reconstruir à medida que variam mais), deve ser possível simplesmente restaurar as permissões recursivamente aos seus proprietários originais (provavelmente geralmente root ) e reverta completamente o dano.
Começar a sudo
trabalhar novamente é o primeiro passo. Espero que a técnica acima permita que você faça isso.
pkexec
comando?