A página man do su é bem clara neste ponto:
The command will be executed by the shell specified in
/etc/passwdfor the target user.
e
-s, --shell SHELL The shell that will be invoked.
-m, -p, --preserve-environment Preserve the current environment [...]
O motivo pelo qual você acessa um bash shell depois de chamar su - é que esse é o shell padrão para o root. Eu posso ver três maneiras de substituir esse shell padrão:
- Chame
su -s /path/to/your/shellem vez de apenassu - Verifique se
export SHELL=/path/to/yourshellfoi definido e, em seguida, ligue parasu -m - Alterar o shell padrão da raiz em
/etc/passwd(não recomendado)