Eindeutige Linux-Systemkennung

835
nightcod3r

Ich ermutige meine Schüler, eine Linux-Distribution in ihren Computern zu installieren. Um sicherzugehen, dass sie die Aufgabe erfüllt haben, bitte ich sie, diesen Befehl auszuführen, um eine eindeutige Kennung zu generieren:

echo $(sudo dmidecode -t 4 | grep ID | sed 's/.*ID://;s/ //g') $(ifconfig | grep -oP 'HWaddr \K.*' | sed 's/://g') | sha256sum | awk '' 

… Und schicke mir die erhaltene hexadezimale Zeichenfolge.

Nun bieten mehrere Studenten dieselbe Zeichenfolge an. Kann es sein, dass diese Zeichenfolge nicht für jede Installation eindeutig ist? (Ich bekomme in jeder Maschine eine andere), oder betrügen sie?

0
Wenn Sie möchten, dass Ihre Schüler eine eindeutige Nummer erhalten, die beweist, dass sie eine eigene Linux-Version installiert haben, sollten Sie sie nach der UUID-Nummer ihrer Festplatte fragen (siehe https://en.wikipedia.org/wiki/Universally_unique_identifier). Sie werden möglicherweise gefragt, ob sie einen Befehl wie "uuidgen" ausführen und prüfen, ob die drei äußersten linken Teile Hexadezimalzahlen sind, während die beiden rechten ganz einfach nur oktal sind. MariusMatutiae vor 8 Jahren 0
Gut. Obwohl ich den Überprüfungsschritt nicht ganz verstehe. Ich erhalte beim Ausführen des Befehls fünf Hexadezimalzahlen. Wie kann ich wissen, dass es sich um eine gültige UUID handelt? Die letzten beiden sind keine Oktale, und bei jeder Ausführung des Befehls wird eine andere UUID generiert, die jedem Schüler eine Methode zur Verteilung der UUID unter Verknüpfungen bietet. nightcod3r vor 8 Jahren 0

2 Antworten auf die Frage

0
Dmitry Grigoryev

Es ist durchaus möglich, dass die zwei Computer, die ich zu Hause habe, nicht dmidecodeinstalliert sind und ifconfignicht PATHfür normale Benutzer bestimmt sind. Daher bekomme ich bei beiden die gleiche Zeichenfolge:

01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b 

Ist das die ID, die deine Schüler dir gegeben haben?

Sie sollten das Hinzufügen sudovor dem ifconfigBefehl in Betracht ziehen und möglicherweise etwas Datumsbezogenes hinzufügen, z stat /bin/sh | grep Change. Wenn Sie Ihren Schülern nicht vertrauen, wie wollen Sie dann überprüfen, ob die von ihnen angegebene ID einem realen System entspricht?

Richtig, diese Zeichenfolge ist die häufigste. Ich habe wirklich keine Methode, um zu überprüfen, ob es sich um eine gültige Kennung handelt. Nehmen Sie einfach an, dass sie nicht bereit sind, so weit zu gehen. Kennen Sie eine Methode, um die Aufgabe zuverlässig zu überprüfen? nightcod3r vor 8 Jahren 0
0
Shameerariff

Sie können sie überprüfen, indem Sie die Seriennummer der Festplatte abrufen.

lsblk --nodeps -no serial /dev/sda 

Die Beispielseriennummer lautet 6VEHJPW7 .

Wie es geschrieben ist, funktioniert der Befehl nicht in meinem System. nightcod3r vor 8 Jahren 0
Was ist der Fehler, den Sie bekommen? Shameerariff vor 8 Jahren 0
Andernfalls können Sie '/ sbin / udevadm info --query = property --name = sda | verwenden grep ID_SERIAL_SHORT ' Shameerariff vor 8 Jahren 0
Folgendes bekomme ich (Ubuntu 14.04): `lsblk: unbekannte Spalte: seriell`, auf einem Lubuntu-System funktioniert es einwandfrei ... nightcod3r vor 8 Jahren 0
Im verwendet lubuntu und Im verwendet diese Befehle zur Festplattenidentifizierung. Sie können versuchen, alternative Befehle für Ubuntu 14.04 zu finden Shameerariff vor 8 Jahren 0