sudo error, é o modo 0777, deve ser 0440

26

Estou recebendo erros de sudo, como corrijo esse erro?

sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting 
    
por user20698 27.06.2011 / 05:28

6 respostas

26

Primeira Opção

Seguindo esta postagem :

  1. Reiniciar o PC
  2. Quando a tela de seleção de inicialização do GRUB for exibida, escolha Modo de recuperação. (Se não aparecer, pressione a tecla Shift ao ver o carregador do GRUB na parte inferior).
  3. Um terminal preto deve aparecer, neste ponto você pode executar este comando (você deve ter privilégios de root):

    chmod 0440 /etc/sudoers
    

Alternativamente

Você terá que colocar o Ubuntu em um LiveCD, inicializar no LiveCD, montar sua partição do Ubuntu no disco rígido (abrir um navegador de arquivos, como o Nautilus, e clicar na partição do Ubuntu; ou clicar em Places- > "xxGB Partition / Sua partição do Ubuntu ").

Em seguida, abra um terminal dentro da sessão do LiveCD e digite esses dois comandos:

cd /media/<name of permanent ubuntu partition>/etc
sudo chmod 0440 sudoers

Problemas extras

Se houver algum erro (conforme postado abaixo), siga o prompt de erro e ajuste cada arquivo de acordo usando uma das duas etapas acima:

% bl0ck_qu0te%

Corrija seguindo com:

chmod 0440 /etc/sudoers.d/README
chmod 0700 /var/lib/sudo

Ambos os comandos devem ser usados apropriadamente com as etapas descritas acima. Eles irão alterar as permissões de arquivo associadas a esse arquivo. 0440 dará ao proprietário (root) e ao grupo permissões de leitura e 0700 dará ao dono (root), ler, escrever e executar permissões.

    
por Alex Stevens 27.06.2011 / 06:21
16

sudo está corrompido nessa situação, mas pkexec (o front-end da linha de comando para PolicyKit ) ainda funciona, então você pode consertá-lo com um único comando. Nenhuma reinicialização é necessária.

pkexec chmod 0440 /etc/sudoers

Isso pressupõe que o PolicyKit esteja instalado. Se este for um sistema desktop (em vez de um servidor sem GUI), é.

    
por Eliah Kagan 12.07.2012 / 18:43
4

Inicialize no modo de recuperação, escolha o shell da raiz e:

chmod 0440 /etc/sudoers

Ou, se não quiser reiniciar, você pode usar esta alternativa:

pkexec chmod 0440 /etc/sudoers
pkexec chmod 0440 /etc/sudoers.d/README

mudará a permissão. Tente, vai funcionar.

    
por Atul Makwana 23.08.2012 / 07:52
1

O que você fez para obter esses erros?

  • Se você fez: sudo chmod -R 777 /etc , você precisa de um Live CD para reparar isso.

    1. Inicialize em um CD interativo e selecione "Experimente"
    2. Monte sua partição Ubuntu (ou a partição que contém /etc se você colocou /etc em uma partição separada). Isso pode ser feito usando um navegador de arquivos como o Nautilus ou o menu Lugares
    3. Abra um Terminal indo até Aplicativos = > Acessórios = > Terminal
    4. Determine a pasta da sua partição Ubuntu, você pode listar o conteúdo de partições montadas usando ls -l /media . É possivelmente denominado ubuntu ou disk . Nas próximas etapas, assumirei ubuntu .
    5. No Terminal, defina permissões restritivas por padrão:

      sudo find /media/ubuntu/etc -type f -exec chmod g-wx,o-rwx {} \;
      sudo find /media/ubuntu/etc -type d -exec chmod g-w,o-rwx {} \;
      
    6. Em seguida, use o Live CD como ponto de referência para restaurar as permissões de arquivo. O comando abaixo alterará as permissões de arquivo para /etc/media/ubuntu usando a pasta /etc no Live CD como ponto de referência. Ela só alterará as permissões nos arquivos ( -type f ) e nos diretórios ( -type d ) no mesmo sistema de arquivos ( -xdev ). Quaisquer erros são gravados em ~/errors.log Erros como "arquivo não encontrado" indicam que um arquivo no sistema está instalado, mas não foi encontrado no Live CD. O comando da etapa 5 deve definir as permissões corretas para isso, mas para obter os melhores resultados, é melhor reinstalar os pacotes.

      cd /media/ubuntu && sudo find etc -xdev \( -type f -o -type d \) -f -exec chmod --reference=/{} {} \; 2>~/errors.log
      
    7. Agora seguro ~/errors.log em algum lugar (como link ) para que você possa adicioná-lo como comentário a esta resposta, caso tenha algum problema com aplicativos.
por Lekensteyn 28.06.2011 / 10:32
1

No Ubuntu você pode primeiro pressionar Ctrl + Alt + T , o que abre o terminal. Depois disso, você pode copiar e colar o comando abaixo com Ctrl + C e colar no terminal com Ctrl + Deslocamento + V .

pkexec chmod 0440 /etc/sudoers
    
por K. Kilian Lindberg 10.06.2013 / 14:32
0

Para mim, tive que adicionar mais uma etapa às sugestões pkexec , por esta , tive sorte de ter duas sessões de ssh quando cometi o erro estúpido:

  1. Abra 2 terminais
  2. No terminal 2, execute echo $$ para obter o PID
  3. Executar pkttyagent --process PID_FROM_STEP2 no terminal 2
  4. No terminal 1, execute pkexec chmod 0440 /etc/sudoers
  5. No meu caso, eu também tive que executar pkexec chown root:root /etc/sudoers
por 4oo4 29.11.2017 / 04:23

Tags