Faça login com shell específico no login do terminal

2

Se eu fizer login no sistema por ssh, posso usar o shell padrão com um simples ssh user@host ou especificar algo como ssh user@host 'bash --norc --noprofile' ou ssh user@host ksh .

É possível ter um comportamento semelhante ao efetuar login em um terminal local, ou seja, em um ponto em que meu terminal esteja conectado diretamente ao sistema e seja solicitado um nome de usuário?

O cenário de uso específico está executando screen no tempo de login, em que uma opção de configuração duff impedirá a inicialização da tela e, portanto, impedirá que o login seja bem-sucedido. Se eu tiver acesso ssh, posso fazer login e executar comandos específicos para consertar as coisas, mas se eu tiver acesso apenas ao terminal, não consigo ver como posso consertar as coisas.

    
por me_and 07.05.2013 / 14:28

3 respostas

1

Você pode copiar a entrada para user em /etc/passwd e alterar (a) o nome de user para, por exemplo, user_mod_shell e (b) o shell padrão. O caos "quem sou eu" (provavelmente sem problemas reais) pode ser reduzido configurando USER nos processos de início.

    
por 07.05.2013 / 14:40
1

Coloque seu multiplexador de terminal (seja tmux , screen ou outra coisa) na inicialização do seu shell, mas não exec ele (qual provavelmente fazer) - que vai voltar para o shell, se alguma coisa der errado no multiplexador de terminais.

Para torná-lo mais fácil de usar, você pode usar a sugestão do comentário de @EvanTeitelman e executar multiplexer && exit , que sairá da sessão se o multiplexador sair normalmente.

    
por 07.05.2013 / 15:22
0

Eventualmente, ficamos com o .bash_profile run screen se e somente se a variável $SSH_CONNECTION foi definida. Isso significa que o caso de uso normal (login via ssh) obtém a tela (e podemos resolver isso especificando bash --noprofile como o comando para executar no login) e, para conexões de console, apenas obtemos uma sessão regular.

É claro que, se as coisas se mantiverem de alguma forma, de modo que a tela seja executada em cada login, ainda assim seremos escolhidos. Mas não há como tornar isso completamente infalível.

    
por 17.05.2013 / 15:07