机器指纹提取
指纹提取工具获取
在私有化部署包的申请页面下载指纹提取工具后,参考此文档进行指纹提取操作。点击下载指纹提取工具
注意
- 上传指纹文件后才能发起私有化部署包申请。
- 单机部署,在需要部署的机器上提取指纹申请部署包即可。
- 集群部署,需要3或5(需要奇数机器并且>=3)台机器的指纹打包成一个tar的压缩包申请部署包即可(具体提取方式可参考指纹提取部分)。注意:部署时需传入所有指纹对应机器的IP地址,并以逗号分隔;为保障鉴权服务正常运行,请确保网络互通且已在半数以上的机器中部署鉴权服务。
- 建议以root用户运行指纹采集工具。注意:运行工具用户需和鉴权服务运行用户保持一致(鉴权服务以及部署脚本运行用户默认为root,如有非root运行需求,请提交工单联系百度的工作人员)
指纹采集环境要求
硬件要求(物理机)
- CPU架构:AMD 64/x86_64,支持avx/avx2、bmi2指令集;如有ARM架构需求,请提交工单联系百度的工作人员
- 内存:>=32G(推荐,不强制)
- 硬盘:>=512G (推荐)
- 网络环境:机器需要在局域网内,且能获取到ip地址
操作系统要求
- 基于安全的角度考虑,虚拟机部署需与百度工作人员单独沟通申请,包括但不限于Virtual Box、VMware等。
- 支持的Linux发行版列表 Ubuntu 14、16、18; CentOS 7系列及 8.0; RedHat 7.2; SUSE 12
- Linux内核要求 >=3.10
- GLIBC >=2.17
- GLIBCXX >=3.4.19
- Python 2.7
指纹采集操作流程
1、服务的部署需要一台物理机做鉴权server,我们需要提取的就是这台机器的指纹,将指纹工具上传到服务器,然后使用unzip {文件名}命令解压工具包;
2、进入解压目录,执行chmod +x get_machine_finger_en && chmod +x phosphor 命令增加执行权限;
3、用root用户执行 ./get_machine_finger_en 命令提取指纹,命令执行结果在在/tmp目录下,文件名为secfile_xxx格式的文件即为指纹文件;
4、单指纹文件不必进行压缩,可直接上传提交申请。
5、两个及两个以上的指纹文件,需要将所有的指纹文件存档到一个文件目录下,该目录下只能有指纹文件;创建压缩包,进入指纹文件存储的目录,执行命令 tar cvzf ../finger.tar.gz ./*,在上一级目录生成了名字为finger.tar.gz的压缩包,注意检查该压缩包的目录结构,解压后直接就是指纹文件,没有多余的文件目录;
指纹采集常见问题说明
1、执行命令提取指纹后,出现报错提示“/dev/mapper/centos-root doesn't seem to be an new sg device”,拿不到硬盘序列号。
解决方案:检查/tmp文件夹下是否生成指纹文件,如已生成指纹文件,则忽略该报错。如未生成指纹文件,请发起工单处理。
2、指纹提取工具必须使用root用户运行吗?
解决方案:建议以root用户运行。指纹工具运行用户和鉴权服务运行用户必须保持一致,鉴权服务运行用户默认root。
3、指纹提取时包报错:"/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.14' not found"
解决方案:需要升级GLIBC到3.4.14版本或者更高。
4、虚拟机采集指纹报错,截图如下:
解决方案:原因是phosphor文件没有执行权限,执行chmod +x get_machine_finger_en && chmod +x phosphor命令增加执行权限;再执行./get_machine_finger_en采集指纹就可以了。