Como restaurar as permissões para o arquivo sudoers sem senha?

2

A história completa:

Eu iniciei um "Tier" (VPS) do Amazon EC2 executando o RHEL 7.1 e criei uma chave para o ssh.

O EC2 cria automaticamente um usuário chamado ec2-user para novos Rhel VPSs e possui as permissões (no arquivo sudoers):

ec2-user    ALL = NOPASSWD: ALL

Eu criei um novo usuário (com senha) chamado "e" e tentei adicioná-lo ao arquivo sudoers.

Quando eu tentei editar o arquivo / etc / sudoers com VI, ele disse que o arquivo é somente leitura, então eu mudei suas permissões para 600, e agora toda vez que eu tento fazer algo com o comando "sudo", eu obter um erro:

sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

e eu não posso mudar de volta para o 440, porque eu preciso ser root para fazer isso e não posso fazer "sudo".

Eu li em algum lugar que a solução é rodar

pkexec chmod 0440 /etc/sudoers

mas pede senha para o usuário ec2 que não possui senha:

==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run '/usr/bin/chmod' as the super user
Authenticating as: Cloud User (ec2-user)
Password: 

polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized

This incident has been reported.

E agora? Alguém tem alguma idéia de como proceder para tornar o arquivo sudoers 440 agin?

    
por Newbe 16.05.2015 / 22:17

5 respostas

3

Sim - isso é uma pegadinha, com certeza. Use visudo no futuro para evitar esse problema. Eu tenho uma VM do CentOS 7, que é essencialmente o mesmo que o RHEL7; e eu pude usar su - para me tornar root sem usar sudo , porque eu sei a senha do root. Você sabe sua senha para o usuário, root?

    
por 16.05.2015 / 22:23
2

Se a instância não contiver nada de importante, sugiro considerar isso como uma experiência de aprendizado, acabar com ela e começar tudo de novo. Se você precisar consertá-lo, poderá encerrar a instância, salvando a imagem do disco e montá-la em outra instância e corrigir as permissões.

    
por 16.05.2015 / 23:10
2

Normalmente, sudo é a única maneira de elevar as permissões em uma instância do EC2, porque a Amazon fornece convenientemente um usuário ( ec2-user ) com direitos sudo. Provavelmente poucos se incomodam em definir uma senha para root , já que a maioria usa o usuário pré-definido. Esse foi o caso desta questão.

A maneira de recuperar esta máquina seria

  • desligue a máquina
  • separe seu disco "/" da máquina quebrada (lembre-se de qual dispositivo, provavelmente /dev/sda1 )
  • anexe esse disco a uma máquina em funcionamento (isso atribui um dispositivo )
  • mount o disco na máquina de trabalho (usando esse dispositivo )
  • conserte as permissões (você tem sudo direitos na máquina em funcionamento)
  • umount do disco
  • desligue da máquina de trabalho e conecte novamente à máquina quebrada
  • inicie a máquina de trabalho

Ajuda a ter mais de uma máquina, mas mesmo que seja necessário apenas para reparos, ela pode ser criada, usada e excluída em cerca de uma hora.

Leitura adicional:

por 28.03.2016 / 00:52
0

se o usuário root estiver habilitado, use o comando 'su' ou o comando 'login root' para acessar o shell do root. Então tente

chmod 440 /etc/sudoers 

Realmente espero que isso ajude !!!

    
por 28.03.2016 / 00:45
0

Isso funcionou perfeito para mim com o seguinte commad:

etapa 1: execute o seguinte comando para se tornar root sem usar sudo ou su

pkexec s

etapa 2: execute o comando a seguir último comando para alterar algumas permissões de arquivo

chmod 440 /etc/sudoers && chmod 775 /etc/sudoers.d && chmod 440 /etc/sudoers.d/README

etapa 3: se funcionar para você, por favor, compartilhe

    
por 13.04.2018 / 14:44

Tags