Eu preciso de um comando para criar uma impressão digital única a partir da máquina unix

2

Eu preciso criar um número de série para o meu aplicativo em uma máquina Unix.

  1. O número de série gerado deve ser exclusivo
  2. Não mude com o tempo (apenas muda depois do disco rígido ou da mãe mudanças na diretoria)
  3. Não precisa de privilégios de root.

Descobri que, no Ubuntu, há algumas informações sobre os discos rígidos na seguinte pasta:

/dev/disk/by-id

Esses arquivos parecem ser números de série de discos rígidos conectados à máquina. Eu quero usar o seguinte comando para gerar uma impressão digital única da máquina.

ls /dev/disk/by-id | grep  -v 'part'

Isso é possível? Este comando atende às condições especificadas acima?

    
por a.toraby 01.11.2015 / 06:39

1 resposta

2

Um bom método para identificar exclusivamente uma máquina é pelo valor SMBios UUID. No linux, ele pode ser acessado usando a ferramenta dmidecode.

# dmidecode -s system-uuid 1E00CBE0-008C-5900-FBCE-C86000B2350B

Outra alternativa seria usar o UUID do sistema de arquivos raiz. Os UUIDs do sistema de arquivos podem ser acessados em "/ dev / disks / by-uuid". Isso tem a vantagem de não exigir privilégios de root.

Ainda outro método é usar o blkid:

rootNode="$(mount | grep " / ")"; blkid -s UUID -o value ${rootNode%% *}

    
por 01.11.2015 / 16:53