No Linux, você pode fazer isso com os comandos useradd
ou usermod
do conjunto de utilitários de sombra, porque eles aceitam um hash de senha como uma opção. Você precisará extrair o hash de senha do outro usuário de /etc/shadow
manualmente.
h=$(</etc/shadow awk -vuser="old_user_name" -F: '$1==user {print $2}')
useradd -p "$h" new_user_name
Observe que, se alguém obtiver o arquivo shadow, ele saberá imediatamente que os dois usuários têm a mesma senha, porque os dois hashes usarão o mesmo salt. Não há como consertar isso sem ter que digitar a senha real (que não pode ser recuperada de /etc/shadow
do uso de força bruta).
Observe que na maioria das instalações do Linux, a linha de comando de um processo em execução é visível para todos os usuários. Portanto, se houver outros usuários na máquina, eles poderão ver o hash da senha (o que lhes dá algo que podem tentar forçar a força bruta offline). Isso pode ser corrigido usando estruturas como o SELinux que ocultam as linhas de comando do processo de outros usuários.