Por favor, veja man usermod .
Um exemplo seria sudo usermod -s /bin/bash username .
Quando eu ssh como root, meu shell é bash , mas quando é um usuário não-root é sh . Como posso fazer com que ambos usem bash ?
Isso realmente vai contra a lógica nesta questão: Por que o shell padrão do root está configurado diferentemente com o shell padrão de outra conta de usuário normal?
Até onde eu sei, seu shell padrão é definido em /etc/passwd (como decidido na criação do usuário). Altere /etc/passwd na máquina de destino para refletir sua escolha.
O comando chsh(1) é usado para alterar o shell de um usuário. O sistema pode ser configurado para permitir apenas determinados shells listando os shells permitidos em /etc/shells . Isso não precisa de privilégios de root, mas um usuário só pode alterar seu shell.
Você precisará digitar sua senha (não root) para alterar seu shell, a menos que seja root, caso em que nenhuma senha é necessária e você pode configurar qualquer programa para ser usado como shell de um usuário (ignorando /etc/shells ) .
Você pode fazer isso ao criar o usuário com a opção useradd -s /bin/bash ou mais tarde com usermod -s /bin/bash como sugerido por can ou modificando o arquivo /etc/passwd como sugerido por asoundmove . Mas se você está procurando outra solução, sugiro procurar pelo arquivo /etc/default/useradd e modificá-lo de acordo com sua necessidade. Se você alterar a linha SHELL=/bin/bash , ela será aplicada a todos os novos usuários. Também dê uma olhada no arquivo /etc/login.defs .
Espero que isso ajude você.