root login silenciosamente falha

3

Depois de alguns meses sem tocá-lo, eu queria fazer login em um de nossos servidores virtuais para atualizar o OpenSSL, por causa da coisa do heartbleed. O servidor está executando o Debian 7, sudo não está instalado.

Eu tentei de três maneiras:

  1. ssh root@server , a senha é aceita e, em seguida:

    Could not chdir to home directory /home/root: No such file or directory
    Connection to server closed.
    
  2. Efetuando login como outro usuário e, em seguida, su - root .

    No directory, logging in with HOME=/
    

    Depois volto ao meu shell usual, não estou logado como root.

  3. Efetuando login como outro usuário e, em seguida, su root . Isso não dá nada, estou simplesmente de volta ao prompt usual, ainda logado como o outro usuário e não o root.

Não tenho chance de reiniciar manualmente o servidor antes da segunda-feira. Existe alguma coisa que eu poderia tentar fazer para obter um shell de root? O servidor pode ser comprometido e como posso verificar isso (sem acesso root)? Obrigada!

Em todos os casos, ao digitar a senha errada, o aparelho reclama como sempre.

/root existe e /etc/passwd lista o diretório correto. Eu não tenho ideia do porque o ssh acredita diferente.

Isso pode ser importante: a verificação de $? após a chamada su incorreta me dá um 1 , que é System or authentication failure de acordo com a página man do su. Como posso torná-lo mais detalhado?

Conforme solicitado abaixo, a saída de ssh -v :

Last login: Fri Apr 11 17:47:46 2014 from some_client
Could not chdir to home directory /home/root: No such file or directory
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
Connection to server closed.
Transferred: sent 3136, received 2448 bytes, in 0.0 seconds
Bytes per second: sent 299688.7, received 233940.7
debug1: Exit status 1
    
por janoliver 11.04.2014 / 17:48

1 resposta

3

Todos os conteúdos abaixo são de aqui .

A mensagem de erro implica que, o diretório inicial da raiz está faltando. Você pode recriá-lo com mkdir /root , mas estará vazio.

Normalmente, você não deve efetuar login diretamente como root. Todos os acessos diretos devem ser desabilitados para logins remotos e sessões X, embora permitir acesso root a partir de terminais em modo texto possa ser um salva-vidas quando as coisas dão errado. Você deve sempre efetuar login como um usuário real e, em seguida, usar su ou su - (e a senha raiz, é claro) para alterar para o usuário raiz.

No entanto, no seu caso, o su não é efetivo, pois você ainda não tem o diretório /root .

Depois de criar o diretório / root, você ainda terá alguns arquivos padrão ausentes.

Os arquivos de que você precisa são os .bash_profile e .bashrc padrão, eles devem ser copiados em /root . O . principal significa que os arquivos estão ocultos, portanto, talvez seja necessário fazer ls -a para visualizá-los.

EDITAR

O problema atual acabou sendo, para o usuário raiz, o shell definido como /bin/false . Isso pode ser verificado emitindo o comando

getent passwd root

Nesse caso, a saída do comando acima acabou sendo

root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false

O que pode ser alterado se você tiver um usuário sudo ou iniciar a máquina no modo single e editar a configuração acima.

    
por 11.04.2014 / 18:09

Tags