O shell pode precisar ser configurado em algumas circunstâncias, por exemplo, se você quiser iniciar trabalhos remotamente por SSH como o usuário mysql
ou pelo sudo. Estas não são necessidades comuns. Você não precisa ter um shell definido para tarefas agendadas, /bin/false
fará bem.
Dar ao usuário mysql
um shell não é uma falha de segurança por si só. A razão pela qual ele é desaprovado é que, combinado com uma configuração incorreta de algum serviço de login, ele pode permitir que alguém obtenha um shell como mysql
. Colocar um programa que não faz nada evita isso - mesmo que um invasor consiga efetuar login como mysql
, o que não os fará bem. É comum usar /bin/false
ou /usr/sbin/nologin
, mas /bin/true
ou qualquer outro programa não operacional estaria bem.