Como fazer o SSH após reinicializar remotamente o Redhat e entrar no modo de recuperação?

4

Eu preciso entrar no modo de recuperação da minha caixa de redhat, que está sendo executada remotamente em uma máquina virtual.

Eu uso o RedHat 5 de 64 bits Enterprise Edition.

Estou logado na caixa usando o SSH. Posso reiniciar usando o comando restart, mas preciso saber se poderei utilizá-lo, já que estou usando-o remotamente e não consigo fazer login por meio da interface do usuário.

O problema real é que eu fiz um chown -R $USER / no diretório raiz.

Eu estava tentando isso como um teste sem perceber as conseqüências, para fazer algo funcionar, que de alguma forma não funcionava mesmo com o uso do sudo.

Eu matei a meio caminho. Mas, por causa dessa estupidez, não posso usar o sudo.

Eu li que posso fazer algo no modo de recuperação, mas não entendo como entrar no modo de recuperação remotamente. Não consigo reinstalar o linux, isso não é uma opção possível.

Existe alguma maneira que eu possa recuperar minhas permissões sudo?

Isso não funciona a partir de agora:

chown root:root /usr/bin/sudo
chown: changing ownership of '/usr/bin/sudo': Operation not permitted
sudo chown root:root /usr/bin/sudo
sudo: must be setuid root
    
por akshitBhatia 24.08.2015 / 13:23

3 respostas

9

Você não pode usar o ssh no modo de recuperação, pois o ssh não estará em execução. Você precisa de uma maneira de começar a consolar. Se esta é uma máquina virtual e você possui o host, deve haver alguma maneira de se conectar ao host e entrar no console. Se este é um serviço como o AWS, então você está sem sorte e você precisa recuperá-lo de alguma forma, como construir uma nova instância e separar o volume raiz da instância ruim e montá-lo no novo para consertá-lo.

    
por 24.08.2015 / 13:31
0

Redhat usa o Systemd para iniciar / interromper tarefas.

Se você estiver no modo de recuperação, ele usará as metas rescue ou emergency .

Você precisa configurar o sshd (e suas dependências) para rodar também nesses runlevels (= targets, na terminologia systemd).

Aqui você pode encontre mais sobre o ajuste fino do systemd. Alguns Redhat docs também pode ser usado.

    
por 25.08.2015 / 10:28
0

O problema foi resolvido e esta questão pode ser encerrada. No entanto, não consegui fazer isso via ssh. Eu tive que desligar a instância na caixa virtual e reiniciá-lo. Fazer isso via ssh permanece aberto para discussão.

Como resolver o problema reiniciando a instância rhel5:

1.Boot the system into single user mode (do this by pressing esc on the boot screen. you will get a terminal on the boot screen after doing this)
2.do chmod 0440 /etc/sudoers
Which should look like -r--r----- 1 root root 5882 Nov 19 18:03 /etc/sudoers
3.chown root:root /usr/bin/sudo
4.chmod 4111 /usr/bin/sudo
5.chmod 0440 /etc/sudoers
6.chmod 0770 /var/bin/sudo/$USERNAME (note: you may have to use /var/run/sudo/$USERNAME if /var/bin does not exist)
7.Reboot the machine in runlevel-5. (type init 5)

Isto irá setuid para root e resolve o erro sudo

    
por 26.08.2015 / 12:38