shell diferente para usuário root e não root

5

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?

    
por m33lky 17.04.2011 / 05:31

4 respostas

4

Por favor, veja man usermod .

Um exemplo seria sudo usermod -s /bin/bash username .

    
por 17.04.2011 / 06:29
4

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.

    
por 17.04.2011 / 06:11
2

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

    
por 17.04.2011 / 07:28
1

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

    
por 22.04.2011 / 15:37