sudo: /usr/lib/sudo/sudoers.so deve ser de propriedade de uid 0

10

Sempre que tento fazer algo que exija minha senha, ele retorna isso:

u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$

Portanto, não consigo instalar nada do Centro de Software / gerenciador de pacotes ou executar nenhum comando no terminal que exija minha senha. Eu posso entrar, mas é praticamente isso.

Alterei acidentalmente as permissões de alguns arquivos, depois alterei mais algumas tentativas de corrigi-lo: /. Agora estou completamente perdido quanto ao que fazer.

Foi o que aconteceu quando tentei fazer o sudo funcionar novamente usando o pkexec:

u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success 

u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins

E para alterar as permissões, eu estava usando o Root Actions como uma coisa de serviço / plugin do dolphin, para que o histórico não me mostre as alterações de permissão.

Acabei de perceber que os sons não funcionam mais. Quando entro no Phonon, minhas configurações padrão e dispositivos de reprodução nem estão lá. Também não tenho a opção de desligar, só posso sair ou sair.

7UR7L3
fonte
O problema de som e desligamento é novo desde que você executou o pkexeccomando?
Elias Kagan
@Eliah Kagan, não, eu percebi o problema de som quando fiz logon no meu computador e percebi o problema de desligamento quando desligava o computador na noite passada. Acabei mantendo pressionado o botão liga / desliga.
7UR7L3
Expandi minha resposta para fornecer instruções que devem funcionar, embora nem o sudoPolicyKit (via pkexec) funcione.
Elias Kagan
2
raiz root chown -R raiz: root / usr / lib /

Respostas:

20

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 chowncomando com o -Rsinalizador 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).

sudonã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.sovolta para root(ou seja, uid 0):

pkexec chown root /usr/lib/sudo/sudoers.so

Em seguida, tente usar sudonovamente. Você pode executar algo trivial como e ver se você recebe uma mensagem de erro.sudo ls

Por fim, recomendo executar historypara revelar todos os comandos que você executou. Espero que isso liste todos os comandos que você executou que mudaram de permissão. Supondo que sudoagora 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 pkexectambém não funcionar ...

Você tentou pkexece não funcionou. Como sudonem 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 mountcomando, execute o chowncomando acima novamente e verifique se ele funciona.

Quando terminar no modo de recuperação, você poderá reiniciar executando:

reboot

sudodeve 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 sudotrabalhar novamente é o primeiro passo. Espero que a técnica acima permita que você faça isso.

Eliah Kagan
fonte
Eu segui essas instruções, mas quando eu reiniciei o kubuntu, o problema ainda existia. Mesmo erro. Neste ponto, provavelmente é mais fácil reinstalar. : /
7UR7L3
Além disso, existe alguma maneira de fazer algo assim: askubuntu.com/questions/9135/… para salvar tudo? A todos juntos como um script pseudo-festa não vai funcionar porque sudo está envolvido assim ....
7UR7L3
@ 7UR7L3 Isso fará o backup de informações sobre quais pacotes estão instalados e de mais informações sobre as configurações de todo o sistema dos seus programas. Em combinação com um backup completo do diretório inicial, isso deve permitir que você restaure as coisas da maneira como estavam antes, depois de remover o sistema existente e instalar um novo, sim. Certifique-se de ter um backup de todos os arquivos realmente importantes (como seus documentos) o tempo todo. Se você achar que precisa de mais informações sobre essa técnica aplicada à sua situação, sugiro postar uma nova pergunta (mas não me importo se você perguntar nos comentários aqui).
Elias Kagan #
Existe uma boa maneira de fazer tudo isso? Eu tenho uma unidade externa de 1 TB na qual posso fazer backup de coisas, mas ela não aparece em nenhum lugar quando eu a conecto. A luz está acesa para mostrar que funciona, mas nada na tela está mudando e não está em nenhum lugar no dolphin . Então, assim que eu começar a trabalhar, como devo guardar tudo para isso? No gerenciador de pacotes, eu poderia salvar os pacotes instalados em um documento de texto, mas isso foi tudo o que descobri para salvar as informações. Praticamente todas as outras soluções envolvem sudo, que ainda não funciona.
7UR7L3
@ 7UR7L3 Para fazer backup de arquivos? Inicialize a partir de um CD / DVD ao vivo ou USB ao vivo. Você pode acessar seus arquivos a partir daí e fazer backup deles na sua unidade externa. Se sua unidade externa também não aparecer no sistema ativo, é um problema totalmente separado, com o qual talvez eu não possa ajudá-lo e quase certamente não poderia estar dentro dos limites dos comentários. Então, se isso acontecer, recomendo postar uma nova pergunta. Se você comentar aqui com um link para a nova pergunta, não deixarei de analisar e contribuir, se puder.
Elias Kagan #