唯一的 Linux 系统标识符

唯一的 Linux 系统标识符

我鼓励我的学生在他们的计算机上安装 Linux 发行版。为了确保他们完成了任务,我要求他们执行此命令来生成唯一标识符:

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

...并将获得的十六进制字符串发送给我。

现在,许多学生都提供了相同的字符串。这个字符串可能不是每个安装的唯一字符串吗?(我在每台机器上都获得了不同的字符串),或者他们在作弊?

答案1

实际上这是很有可能的:我家里的两台电脑都没有dmidecode安装,而且ifconfig也不适合PATH普通用户,所以我在两台电脑上都得到了相同的字符串:

01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

这是你的学生给你的身份证吗?

您应该考虑sudo在命令前面添加ifconfig,也许添加一些与日期相关的内容,例如stat /bin/sh | grep Change。但是,如果您不信任您的学生,您打算如何验证他们提供的 ID 是否与真实系统相对应?

答案2

您可以通过获取硬盘的序列号来验证它们。

lsblk --nodeps -no serial /dev/sda

示例序列号为6VEHJPW7

相关内容