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?


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.