首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >下载单个`.deb`包文件以进行完整性验证

下载单个`.deb`包文件以进行完整性验证
EN

Ask Ubuntu用户
提问于 2023-05-28 21:26:35
回答 1查看 52关注 0票数 0

我有系统运行时度量,它显示了系统执行了哪些包文件。我想验证由Linux内核的完整性管理体系结构(IMA)计算的校验和与来自ubuntu repos的包文件的正式校验和。

以下计量实例:

代码语言:javascript
运行
复制
10 bae6e0fe76b1eb0864410323fc013c83ca626a66 ima-ng sha256:c1b65dd1aae2d422d1c6a3b9ae4c50f9cbf25108b8051c5be280ebfe32981456 /usr/bin/dircolors
10 71e4941190fb8601a55f5bc8b6ab284d40df3be9 ima-ng sha256:00fba26dcaa2f6832987e9421c9aa42d9f4d47652e4a25fdf1b92f935ac81989 /usr/bin/sudo
10 d8eb38a20ee87ddf87f20218642cc9059f74cefa ima-ng sha256:212eabe6f44f9e8b720b105c9dbcb9fc67fcc7be5250e608b88b33e8ac436d5a /usr/bin/su
10 a80c90a7f139cd62a1cb0f40adc6dae4f11e535b ima-ng sha256:b4642f4f56e37a506f758a0fce4054ed91470e6ac35fe940eaf18da4883d2d95 /usr/bin/groups
10 5fa6842bd391b0ea52448754bf78cad87754df73 ima-ng sha256:5ae83908197820124d467db6ecc821402d667dd4617d8fab3f0e30dc5ef5a074 /usr/bin/git
10 76101b9b21175328d4f2df1b3aa8002492c7a7b3 ima-ng sha256:65481459b05f8898299b7ef354138dc2ab674438d74cc4c8bf5aeef09a0331e8 /usr/bin/nano
10 84e18b01843fda8fd130e0a500607e55e3aeb16a ima-ng sha256:c2a2db43da333527632872c629465e0fb3f5cbf87115836a7fcda428877589a5 /usr/bin/python3.11
10 45737dc3d038bac2a5e40d085accdd545a692fbd ima-ng sha256:afd18e93eaf9dbea58ce345a2add190efc1b000558dba084417904415439e875 /usr/bin/tpm2
10 b3e35da87c02c9841d2f991e816feb055874d190 ima-ng sha256:db905ca30da311c0bcd005b3d475d22e6fa395c3205ff5f17cdd9a02d830e1fb /usr/bin/x86_64-linux-gnu-g++-12

在哪里可以找到Ubnutu包的单个文件的校验和。假设有一个包g++-12,我可以清楚地看到它提供的sha1 & sha256 校验和。但是,是否有任何资源也提供包的所有个别档案的校验和?当然,我可以下载.deb文件并提取内容并手动计算,但是它对我的用例来说并不是非常有效的解决方案。

EN

回答 1

Ask Ubuntu用户

发布于 2023-05-29 11:46:46

Debian系统(dpkg.deb包)在安装包时在内部生成MD5和。不幸的是,输出只生成SHA1SHA256和。要使其工作,您必须获得度量,以提供文件的MD5和。

当您使用apt/dpkg安装包时,会为目录/var/lib/dpkg/info中的包生成一个.md5sums文件。

这意味着您可以轻松地检查所有文件的MD5和,就像安装包时一样。这可用于确定在安装包后是否更改了任何文件。

一个来自我自己系统的例子(Ubuntu22.04.2)。如果我运行cat /var/lib/dpkg/info/sudo.md5sums,就会得到以下信息:

代码语言:javascript
运行
复制
e8e2fd5938804db1abb67773f84f5549  usr/bin/cvtsudoers
8176b78ba666fb64e72a3ae6a4851793  usr/bin/sudo
7cd774a8abe0586bdd75fb90c8bcaec7  usr/bin/sudoreplay
3f90917a245d4aafe98bb39a1fb9fa09  usr/include/sudo_plugin.h
9eb3041fcbb7ba1a64664d7a7a13cc15  usr/lib/tmpfiles.d/sudo.conf
8ccb24178b5cef512ac3fef3ad3b44f1  usr/libexec/sudo/audit_json.so
fc97536f5bf479b310cbffd9c5f030ec  usr/libexec/sudo/group_file.so
4410a4f7ce928d5cbc79b5881e26194b  usr/libexec/sudo/libsudo_util.so.0.0.0
c087bda8ff9210f79a94176ca817a4c8  usr/libexec/sudo/sample_approval.so
d8d8ca3f48bda0bb8a3e782379230284  usr/libexec/sudo/sesh
091c0ce05a872050dbe145bf156cea90  usr/libexec/sudo/sudo_intercept.so
d42066a08c1877f738c4c55c570f78e7  usr/libexec/sudo/sudo_noexec.so
4e920ee4b000c0bd9a1659a4368d5fdf  usr/libexec/sudo/sudoers.so
59df52d5f1b4b01740df4abb34294711  usr/libexec/sudo/system_group.so
2f3db27567e8b72955cdccafb8d4750b  usr/sbin/sudo_logsrvd
8f778373024750a98f7412593ac7fa39  usr/sbin/sudo_sendlog
e46edcfbb954c4bd8a599d3d76d53d9a  usr/sbin/visudo

... (33 more lines omitted)

如果可以获得运行的度量值以提供文件的MD5和,则可以对照.md5sums文件中提供的值检查此值。

如果这是不可能的,那么不幸的是,dpkg实用程序使用旧的MD5散列,而内核不能输出这些哈希。在这种情况下,没有比直接从SHA256文件中自己计算.deb校验和更好的解决方案了。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1469821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档