Isso funciona da maneira que você descreveu (é claro que você pode especificar qualquer shell que queira no lugar de /bin/bash
):
root# useradd temp_test1 -s /bin/bash -p '*'
root# su temp_test1
temp_test1#
Depois de executar o comando useradd
acima, a entrada a seguir está no meu arquivo /etc/shadow
:
temp_test1:*:15842:0:99999:7:::
Ao usar a resposta de John Smith Opcional , o seguinte funcionará:
root# useradd temp_test2 -s /sbin/nologin
root# su -s /bin/bash temp_test2
temp_test2#
EDITAR: Gostaria de salientar que a diferença é que você não pode su
em uma conta que tenha o shell especificado como /sbin/nologin
, a menos que você especifique um shell utilizável ao emitir o Comando su
:
root# useradd temp_test3 -s /sbin/nologin
root# su temp_test3
This account is currently not available.
root#
(Testado no CentOS 6.4 - deve funcionar em uma variedade de distros).