Como mudar o shell padrão no FreeBSD?

10

O shell padrão no FreeBSD é she eu realmente não suporto: o preenchimento automático é muito limitado, e os comandos de rehash me matam. Eu me sinto como um homem armado e com uma perna ...

Como posso alterar o shell globalmente para zshou bash- para root e para todos os usuários atuais e futuros?

holms
fonte
1
Apenas tentei isso para atualizar um usuário existente no FreeBSD 9.1 e o sistema solicitou que eu usasse o seguinte: chpass -s / usr / local / bin / bash USUÁRIO
commbot

Respostas:

28

Para usuários existentes, use o chshcomando (" ch ange sh ell"):

chsh -s SHELL USER
chsh -s /usr/local/bin/bash root

Para futuros usuários:

  • Editar palavras-chave " /etc/pw.conf"defaultshell
  • Quando usar adduser(), escolha o shell necessário
alvosu
fonte
15
... mas tenha cuidado ao alterar o shell raiz para algo da árvore de portas (por exemplo, / usr / local / bin / bash), porque se você estragar alguma coisa durante uma atualização de porta, poderá ficar sem acesso à raiz.
Larsks
2
s / recurso / futuro /?
Pausado até novo aviso.
larsk: zsh pode ser construído estaticamente certo ..? [pelo menos eu vi parâmetro em "make config"], tanto quanto eu entendo, é um binário com todas as dependências embutidas? então posso colocar / usr / local / bin / zsh em / bin / zsh? usuário root pode usar a versão antiga está tudo bem .. então seria seguro?
holms
8
Construir estaticamente e copiá-lo para / bin é provavelmente a coisa mais segura que você pode fazer. Apenas deixo o shell do root definido como /bin/she, exec bashnessas raras ocasiões, em que realmente preciso fazer login como root (mais frequentemente, uso apenas sudona minha conta de usuário).
Larsks
Observe que isso deve ser executado como raiz (ou com sudo).
Sopalajo de Arrierez 07/01