Que diriez-vous de ces deux :
01
Vous pouvez ensuite les combiner et les hacher avec :
11
Pour supprimer le tiret final, ajoutez un autre tube :
28
Comme le souligne @mikeserv dans sa réponse, le nom de l'interface peut changer entre les démarrages. Cela signifie que ce qui est eth0 aujourd'hui pourrait être eth1 demain, donc si vous grep pour 07
vous pourriez obtenir une adresse MAC différente sur différents démarrages. Mon système ne se comporte pas de cette façon donc je ne peux pas vraiment tester mais les solutions possibles sont :
-
Grep pour
17
dans la sortie de22
mais conservez-les tous, pas seulement celui correspondant à une carte réseau spécifique. Par exemple, sur mon système j'ai :32
En saisissant les deux adresses MAC et en les faisant passer par
30
, vous devriez pouvoir obtenir un nom unique et stable, quel que soit le nom de la carte réseau :40
Notez que le hachage est différent de ceux ci-dessus car je transmets les deux adresses MAC renvoyées par
40
à58
. -
Créez plutôt un hachage basé sur les UUID de votre ou vos disques durs :
59
Tout d'abord, veuillez noter que le CPUID n'est définitivement pas un marqueur d'identification unique couramment accessible pour tout système ultérieur à un Intel Pentium III. Bien que le hachage avec des adresses MAC puisse certainement conduire à des marqueurs uniques, cela n'est dû qu'aux qualités uniques des MAC eux-mêmes et le CPUID dans ce cas n'est rien de plus que circonstanciel. De plus, le hachage résultant n'est probablement pas plus unique que l'UUID de la carte mère, ce qui est beaucoup plus facile à récupérer et le processus est beaucoup moins sujet aux erreurs. Depuis wikipedia.org/wiki/cpuid :
EAX=3 :Numéro de série du processeur
Voir aussi:Pentium III § Controverse sur les problèmes de confidentialité
Cela renvoie le numéro de série du processeur. Le numéro de série du processeur a été introduit sur Intel Pentium III, mais en raison de problèmes de confidentialité, cette fonctionnalité n'est plus implémentée sur les modèles ultérieurs (le bit de fonctionnalité PSN est toujours effacé). Les processeurs Efficeon et Crusoe de Transmeta offrent également cette fonctionnalité. Cependant, les processeurs AMD n'implémentent cette fonctionnalité dans aucun modèle de processeur.
Vous pouvez afficher vous-même un cpuid analysé en faisant 62
ou même juste 71
.
Cela vous donne toutes les adresses MAC pour les interfaces réseau reconnues par le noyau Linux, je pense :
61
Il peut être nécessaire de filtrer cette liste si elle peut inclure des cartes réseau virtuelles avec des MAC générés aléatoirement. Vous pouvez le faire avec des drapeaux dans l'appel à 86
directement. Voir 90
pour savoir comment procéder.
Notez également que ce problème n'est pas unique à 105
et doit également être traité si vous utilisez 116
, mais qu'il peut être géré de manière plus fiable avec 125
- qui fait partie du 137
suite réseau et est activement maintenu - qu'il ne le peut avec 148
- qui est membre du 151
package et a vu une version Linux pour la dernière fois en 2001. En raison de l'évolution des fonctionnalités du noyau depuis sa dernière version, 165
est connu pour mal signaler certains indicateurs de fonctionnalité réseau et son utilisation doit être évitée dans la mesure du possible.
Comprenez, cependant, que le filtrage avec des noms d'interface du noyau comme 175
n'est pas un moyen fiable de le faire, car ceux-ci peuvent changer en fonction de leur ordre de détection parallèle par 187
pendant le processus de démarrage. Veuillez consulter Noms de réseau prévisibles pour en savoir plus.
Parce que 199
n'est pas installé sur mon système J'ai d'abord pensé à hacher une liste de numéros de série de disques durs générés comme :
73
Faites 208
pour quelques indices sur l'affinement de cette liste - par type de disque, disons. Considérez également 214
et/ou 227
peut-être.
Les combiner est facile :
80
Comme vous m'avez informé que vous associez les ressources des utilisateurs de votre côté à leurs identifiants uniques, et que les disques durs ne sont pas fiables pour exister, j'ai pensé à changer de tactique.
Cela considéré, j'ai regardé à nouveau dans le système de fichiers et j'ai trouvé le 230
dossier. J'ai vérifié quelques-uns des fichiers :
90
Cependant, celui-ci semble être assez bon, mais je ne publierai pas le résultat :
107
Je suppose que c'est là que 244
obtient une grande partie de ses informations de toute façon et en fait, il y ressemble. Selon 258
vous pouvez également simplifier considérablement votre utilisation de cet outil en spécifiant l'argument :
115
Plus simple encore, cependant, vous pouvez simplement lire le fichier. Notez que ce fichier particulier identifie spécifiquement une carte mère. Voici un extrait du correctif du noyau 2007 qui implémentait à l'origine ces exportations vers le 267
système de fichiers virtuel :
120
Vous pourrez peut-être utiliser ces données seules pour identifier le système - si la carte mère est suffisante. Mais vous pouvez combiner ces informations avec les MAC du système de la même manière que je vous ai montré avec les disques durs :
134
Le noyau Linux peut également générer des UUID pour vous :
147
Ou :
150
Certes, il est généré de manière aléatoire et vous devrez repenser l'attribution de l'ID, mais c'est à peu près aussi simple que d'obtenir get au moins. Et il devrait être assez solide si vous pouvez trouver un moyen de le saisir.
Enfin, sur les systèmes UEFI, cela devient beaucoup plus facile à faire - car chaque variable d'environnement du micrologiciel EFI inclut son propre UUID. La variable d'environnement 275
devrait être présent sur chaque système UEFI, devrait persister les redémarrages et même la plupart mises à jour et modifications du firmware, et tout système Linux avec le 281
le module chargé peut lister l'un ou les deux noms aussi simplement que :
166
L'ancienne forme - 292
est apparemment maintenant obsolète, et sur les nouveaux systèmes devrait être 303
mais, selon les spécifications, l'un ou l'autre devrait être présent dans chaque système UEFI. Avec peu d'effort, vous pouvez définir vos propres variables persistantes de redémarrage et peut-être utiliser davantage le générateur d'UUID du noyau de cette manière. Si vous êtes intéressé, consultez efitools.
De nombreuses distributions modernes fournissent un fichier 312
contenant une chaîne de 32 caractères hexadécimaux très probablement unique. Il provient de systemd, où une page de manuel contient plus d'informations et peut être appropriée à votre objectif.