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ê.