Posso iniciar um processo como root sem iniciar o shell de login do root?

8

Eu tentei alterar o shell de login.

Veja como é a primeira linha do /etc/passwd (em uma instalação do Debian Wheezy):

rootx:0:0:root:/root:/:zsh

Quando tento fazer o login como root :

Cannot execute zsh: No such file or directory

Eu sei que zsh está disponível:

$ which zsh
/usr/bin/zsh

Ok, parece lógico substituir zsh por seu caminho completo. Mas como posso fazer isso?

Eu tenho um outro usuário no sistema ( user ), mas ele não tem privilégios de root e sudo não está instalado no sistema.

Suponha que por alguma razão (criptografia, acesso físico, ...) não consigo inicializar em um CD ao vivo para modificar o arquivo.

Eu sei, no entanto, as credenciais da conta root .

A minha pergunta é: existe alguma forma, mesmo programaticamente, para lançar um processo com a conta root sem iniciar o seu shell de início de sessão primeiro?

    
por rahmu 12.05.2013 / 16:59

1 resposta

4

Ter permissões de su

Você pode usar o seguinte comando para alterar o shell de qualquer usuário.

su -c "/usr/bin/chsh -s /bin/bash root"

Se você tiver acesso físico

Durante a inicialização do Grub, você pode entrar em qualquer sistema desde que tenha acesso ao console e não haja uma senha que impeça o acesso ao menu do Grub.

Durante a inicialização inicial do sistema quando o menu Grub aparece, se você entrar no menu e editar (pressione a tecla e ) a linha do kernel, você pode adicionar uma das seguintes coisas para faça o kernel inicializar no modo de usuário único.

  • único
  • init = / bin / sh
  • 1

A linha será parecida com esta:

 kernel /vmlinuz-2.6.15-27-386 root=/dev/mapper/Ubuntu-root ro init=/bin/bash

No Grub, ele deve ser semelhante a isso:

Depois de fazer as alterações, inicialize o kernel (pressione a tecla b ).

Isso lhe dará acesso temporário ao sistema com um shell onde você pode usar o vi / vim para fazer as alterações necessárias em seu arquivo /etc/passwd . Basta digitar reboot quando terminar.

    
por 12.05.2013 / 17:13

Tags