linux 通过python获得服务器唯一机器号

1. 需求

需要做校验,使得代码仅在特定服务器上运行。这就需要获得唯一标志该机器的机器码。

2. 解决
2.1. 不可行方案

网上大部分说通过uuid模块获得设备的MAC地址。但是该MAC地址在python代码重新运行后会变化,无法唯一标志。

2.2. 可行方案

采用dmidecode命令获取特定序列号或者UUID。

关于dmidecode命令的详细说明,可参考博客《(总结)Linux下获取详细硬件信息的工具:Dmidecode命令详解》

这里,我选择机器的主板序列号作为唯一标志码,获取命令如下

sudo dmidecode -s baseboard-serial-number

python代码如下

import os

# 获得主板sn号
def getSN():
	sn = os.popen("sudo dmidecode -s baseboard-serial-number | awk '{print $0}'").readlines()
	return sn[0].strip()

print("当前机器的主板序列号:", getSN())

猜你喜欢

转载自blog.csdn.net/qq_30841655/article/details/128318069
今日推荐