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())
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)