Duplicar um usuário ou pelo menos a senha

3

Eu tenho um aplicativo que precisa criar usuários com a mesma senha que os outros. Existe uma maneira de fazer isso sem ter que editar o arquivo / etc / shadow manualmente? Algum tipo de comando?

    
por Schtibe 19.07.2011 / 18:01

1 resposta

5

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.

    
por 19.07.2011 / 18:40

Tags