Primeiro, as shells válidas são listadas em /etc/shells
. Qualquer usuário pode alterar seu shell padrão usando chsh
, contanto que esteja no arquivo /etc/shells
.
Em segundo lugar, se você quiser adicionar um shell a /etc/shells
, se remover uma entrada de lá, especialmente / bin / sh, provavelmente vai estragar o sistema, porque /bin/login
NÃO será lançado normalmente fora de um shell que não está listado lá.
Mais informações estão disponíveis nas páginas man chsh (1), login.defs (5) e passwd (5) man.
Essa habilidade existe há muito tempo (acredito que o BSD 4.x)