Como gerar hash de hardware exclusivo?

6

Eu quero saber que existe uma maneira pela qual podemos gerar um hash de hardware exclusivo de determinada máquina? O hash deve ser exclusivo para a máquina e o hash deve ser diferente, mesmo duas máquinas são da mesma configuração. É possível?

    
por Arun Jyoti Sharma 24.07.2011 / 13:52

2 respostas

4

Você pode usar o endereço MAC de eth0 (supondo que isso exista em cada máquina). Você pode conseguir isso sozinho (pode haver uma maneira mais simples) com isso:

ifconfig eth0 | grep HWaddr | awk '{ print $NF}' | sed 's/://g'

Isso lhe dará algo como 6cf04954aaaa .

Estes supostos são únicos, mas nem sempre são. Se todo o seu hardware de rede vem do mesmo fabricante, você pode encontrar algum crossover, então seja cuidadoso com ele.

Se você não conseguir, poderá gerar sua própria string única e armazená-la em /etc/computer-id (ou outro caminho de sua escolha).

uuidgen -r

Gerará algo tão aleatório quanto possível, por exemplo: 52a85807-35fe-409e-8983-87eb58c02ece

uuidgen -t

Usa o tempo e o eth0 do MAC para fazer algo como: eb8280dc-b5ec-11e0-90dd-6cf04954aaaa

Ambos são bastante únicos, mas, como acontece com qualquer coisa aleatória, há sempre a possibilidade de um confronto. Mantenha uma lista central para evitar problemas como este.

    
por Oli 24.07.2011 / 14:06
3

A solução mais simples que eu consegui pensar é:

sudo dmidecode -s system-uuid

De acordo com a página de manual de dmidecode , esses dados são recuperado da interface do Desktop Management, que tem algo a ver com o BIOS. Não pode ser alterado.

Eu testei esse comando em duas máquinas com o mesmo hardware e o resultado é diferente do esperado do nome system-uuid , para que ele possa ser usado como hash de hardware exclusivo.

    
por Lekensteyn 24.07.2011 / 14:10

Tags