A opção -p de useradd não é usada para definir senha em texto simples. Com -p você está definindo diretamente o que será armazenado em /etc/shadow . Para definir a senha na linha de comando desta forma, você terá que gerar um hash primeiro, depois passá-lo para o utilitário useradd .
Exemplo:
Gere o hash da senha bar salted com a string foo usando o programa openssl :
openssl passwd -1 -salt foo bar
isso produzirá a string $1$foo$te5SBM.7C25fFDu6bIRbX1 . Se você passar para useradd (tenha cuidado para adicionar aspas simples para que não se expanda para as variáveis!):
useradd -p '$1$foo$te5SBM.7C25fFDu6bIRbX1' test
Você deve conseguir fazer o login como test com a senha bar .