Como você muda o shell padrão para TODOS OS USUÁRIOS para bash?

30

Eu quero que todos os novos usuários, de agora em diante, tenham o bash como shell, por padrão.

Eu sei que para mudar seu próprio shell para o bash, você usaria o comando "chsh -s / bin / bash", mas como eu automaticamente configuro o shell de todos os futuros usuários para o bash por padrão?

    
por coffee-grinder 04.03.2011 / 09:42

2 respostas

51

adduser

O arquivo adduser defaults é /etc/adduser.conf . O shell padrão definido pela variável DSHELL é /bin/bash por padrão.

useradd

O mais provável é que você não precise disso porque o useradd é um utilitário de muito baixo nível e quase nunca é usado diretamente.

Se você usar useradd, edite o arquivo /etc/default/useradd skeleton (não se esqueça de fazer um backup).

Defina a variável SHELL como /bin/bash em vez de /bin/sh .

Agora, toda vez que você usar useradd para adicionar um novo usuário, bash será automaticamente o shell padrão.

Usuários já existentes

Se você quiser alterar o shell de usuários já existentes, você deve editar o arquivo /etc/passwd (por favor, certifique-se de fazer um backup dele).

Aqui está uma descrição das colunas

  1. nome de login
  2. senha criptografada opcional
  3. ID de usuário numérico
  4. ID de grupo numérico
  5. nome de usuário ou campo de comentário
  6. diretório inicial do usuário
  7. intérprete de comandos do usuário opcional

Na ordem, separados por dois pontos (:) como este.

root:x:0:0:root:/root:/bin/bash

Para mais informações sobre esse arquivo, consulte a página do manual man 5 passwd .

    
por Octavian Damiean 04.03.2011 / 09:48
21

Como Octavian apontou, a maneira de mudar os padrões depende da maneira como você está criando o usuário. Eu tentei criar um novo usuário através das minhas Configurações do Gnome agora, e parece seguir /etc/default/useradd , então essa pode ser sua melhor aposta. Para usuários existentes, a maneira mais segura de alterar o shell de login de outra pessoa é com usermod :

usermod -s /bin/bash $USERNAME

Se você não for root, precisará sudo . Uma alternativa é sudo no usuário que você deseja modificar e apenas executar chsh , assim:

sudo -u $USERNAME chsh -s /bin/bash

É melhor evitar editar /etc/passwd manualmente, porque um erro pode quebrar todo tipo de coisas.

    
por Jack O'Connor 28.10.2013 / 08:21