Уникальный системный идентификатор Linux

757
nightcod3r

Я призываю своих учеников установить дистрибутив Linux на свои компьютеры. Чтобы убедиться, что они выполнили задачу, я прошу их выполнить эту команду, чтобы сгенерировать уникальный идентификатор:

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

... и пришлите мне полученную шестнадцатеричную строку.

Теперь несколько студентов предоставляют одну и ту же строку. Может ли быть так, что эта строка не уникальна для каждой установки? (Я получаю по-разному в каждой машине), или они обманывают?

0
Если вы хотите, чтобы ваши студенты предоставили вам уникальный номер, подтверждающий, что они установили свою собственную версию Linux, вам следует попросить их указать номер UUID диска, см. Https://en.wikipedia.org/wiki/Universally_unique_identifier. Вы можете попросить, чтобы они выполнили команду типа `uuidgen` и проверили, что три самые левые части - это шестнадцатеричные числа, а две самые правые - только восьмеричные. MariusMatutiae 8 лет назад 0
Хорошо. Хотя я не совсем понял шаг проверки. Я получаю пять шестнадцатеричных чисел при выполнении команды. Как я могу узнать, что это действительный UUID? Последние два не восьмеричные, плюс, каждый раз, когда команда запускается, она будет генерировать различный UUID, предоставляя любому студенту метод для распределения UUID среди товарищей. nightcod3r 8 лет назад 0

2 ответа на вопрос

0
Dmitry Grigoryev

It's quite possible actually: the two computers I have at home don't have dmidecode installed, and ifconfig is not in the PATH for regular users, so I get the same string on both:

01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b 

Is that the ID your students were giving you?

You should consider adding sudo in front of ifconfig command, and perhaps add something date-related, like stat /bin/sh | grep Change. Still, if you don't trust your students, how do you plan to verify that the ID they provide correspond to a real system?

Правильно, эта строка является наиболее частой. У меня действительно нет способа проверить, является ли это действительным идентификатором, просто предположим, что они не захотят заходить так далеко. Знаете ли вы какой-либо способ сделать надежную проверку задачи? nightcod3r 8 лет назад 0
0
Shameerariff

You can verify them by getting the serial number of the hdd.

lsblk --nodeps -no serial /dev/sda 

The example serial number is 6VEHJPW7.

Как написано, команда не работает в моей системе. nightcod3r 8 лет назад 0
какую ошибку вы получаете? Shameerariff 8 лет назад 0
в противном случае вы можете использовать '/ sbin / udevadm info --query = property --name = sda | grep ID_SERIAL_SHORT ' Shameerariff 8 лет назад 0
Вот что я получаю (Ubuntu 14.04): `lsblk: unknown column: serial`, в системе lubuntu это работает просто отлично ... nightcod3r 8 лет назад 0
Я использую lubuntu, и я использую эти команды для идентификации диска. Вы можете попробовать найти альтернативные команды для Ubuntu 14.04 Shameerariff 8 лет назад 0

Похожие вопросы