Como se livrar - sudo: /usr/lib/sudo/sudoers.so deve ser apenas gravável pelo dono sudo: erro fatal, incapaz de carregar plugins

2

Eu estou tentando configurar o apache2 com cgi (python).

Para isso, tenho que alterar as permissões de algumas pastas e arquivos, mas estou recebendo erros fatais sudo toda vez que tento alterar a permissão de um arquivo ou uma pasta.

Por exemplo:

1

  

j @ ubuntu: / etc / apache2 $ ls

     

apache2.conf envvars sites com disponibilidade de mods mágicos disponíveis

     

conf.d httpd.conf mods-disponível ports.conf sites-enabled

     

j @ ubuntu: /etc/apache2 $ sudo chmod 777 httpd.conf

     

sudo: /usr/lib/sudo/sudoers.so deve ser apenas gravável pelo proprietário

     

sudo: erro fatal, incapaz de carregar plugins

............................................... ....................................

2

  

j @ ubuntu: / usr / lib / cgi-bin $ sudo /etc/init.d/apache2 restart

     

sudo: /usr/lib/sudo/sudoers.so deve ser apenas gravável pelo proprietário

     

sudo: erro fatal, incapaz de carregar plugins

............................................... ....................................

3

  

j @ ubuntu: / usr / lib $ sudo chmod -R 777 / usr / lib / cgi-bin

     

sudo: /usr/lib/sudo/sudoers.so deve ser apenas gravável pelo proprietário

     

sudo: erro fatal, incapaz de carregar plugins

............................................... ....................................

Nota:

j @ ubuntu: /etc/apache2 $ ls -l /usr/lib/sudo/sudoers.so

  

-rwxrwxrwx 1 root root 177452 31 de janeiro de 2012 /usr/lib/sudo/sudoers.so

    
por jags 06.06.2013 / 11:30

2 respostas

2

Nos comentários, parece que qualquer coisa executada com sudo falhará por causa disso. Isso funciona se você usar pkexec ? Por exemplo:

pkexec chmod go-w /usr/lib/sudo/sudoers.so

Isso deve remover as permissões de gravação de "group" e "other" e deixar a permissão "user" (owner) intacta.

Edit: Opa, escreveu sudo no comando por engano. Corrigido agora.

    
por Jez W 06.06.2013 / 12:38
0

Na verdade, existem dois mecanismos configurados no Ubuntu para executar tarefas administrativas. sudo é um deles, e ele e suas interfaces gráficas (como gksu e gksudo) não funcionarão até que você corrija o problema de permissões.

O outro mecanismo é o PolicyKit. Dependendo do que você fez exatamente com suas permissões de arquivo, é provável que você ainda possa recuperar usando o PolicyKit para executar comandos como root.

O comando pkexec executará qualquer comando (não gráfico) como raiz (desde que o usuário que o invoque seja um administrador no sistema). O pkexec é capaz de executar comandos gráficos (como o nautilus) como root, também, mas isso não é trivial, já que você precisa configurar arquivos de configuração para eles descrevendo como eles devem ser executados e o que eles devem fazer . Portanto, é melhor usar a linha de comando para corrigir esse problema ... pelo menos até o ponto em que o sudo funciona novamente. (Então você pode rodar o gksu nautilus para obter um navegador de arquivos raiz, se estiver mais confortável usando isso para editar recursivamente as permissões de arquivo.)

Eu não sei exatamente o que você fez com suas permissões, então é difícil para mim dar a você um comando pkexec específico para executar, para corrigir o problema. Mas você pode corrigir o problema específico que o sudo está atualmente reclamando. Diz:

sudo: /usr/lib/sudo/sudoers.so deve ser apenas gravável pelo proprietário Portanto, remova o grupo e outras permissões de gravação (sem modificar as permissões de gravação do proprietário) para esse arquivo:

pkexec chmod vai-w /usr/lib/sudo/sudoers.so Então você pode ver se o sudo funciona (executando algum comando inócuo como o sudo ls).

Se você precisar executar outras operações nas permissões de arquivo da linha de comando com chmod, consulte man chmod.

(A propósito, aqui está outra situação relacionada em que é útil saber sobre o pkexec.)

Se você tiver problemas para fazer o pkexec trabalhar para isso, sinta-se à vontade para comentar aqui, e tentarei prestar mais assistência. Mas você deve saber que, mesmo que esse método não funcione, você não precisará reinstalar o Ubuntu.

Em vez disso, você pode consertar o problema de um live CD / DVD ou live system USB do Ubuntu, porque o live system estará funcionando - o sudo funcionará nele - e você pode montar sua partição Ubuntu e alterar as permissões maneira.

Ou como uma terceira opção (como sugerido pelo forestpiskie), você pode usar o modo de recuperação.

    
por Matias Barcos 20.07.2016 / 18:13