A opção -p do useradd não é usado para definir senha em texto simples. Com -p você está definindo diretamente o que será armazenado /etc/shadow. Para definir a senha na linha de comando desta forma, você terá que gerar um hash primeiro, depois passá-lo para o useradd utilidade.
Exemplo:
Gerar hash de senha bar salgado com corda foo usando o programa openssl:
openssl passwd -1 -salt foo bar
isso vai produzir string $1$foo$te5SBM.7C25fFDu6bIRbX1. Se você passar para useradd (tenha cuidado para adicionar aspas simples para que não se expandam para variáveis!):
useradd -p '$1$foo$te5SBM.7C25fFDu6bIRbX1' test
Você deve poder logar como test com a senha bar.