如何在Linux上移除文件内的隐私数据
创始人
2024-03-01 13:57:24
0

典型的数据文件通常关联着“元数据”,其包含这个文件的描述信息,表现为一系列属性-值的集合。元数据一般包括创建者名称、生成文件的工具、文件创建/修改时期、创建位置和编辑历史等等。几种流行的元数据标准有 EXIF(图片)、RDF(web资源)和DOI(数字文档)等。

虽然元数据在数据管理领域有它的优点,但事实上它会危害你的隐私。相机图片中的EXIF格式数据会泄露出可识别的个人信息,比如相机型号、拍摄相关的GPS坐标和用户偏爱的照片编辑软件等。在文档和电子表格中的元数据包含作者/所属单位信息和相关的编辑历史。不一定这么绝对,但诸如metagoofil一类的元数据收集工具在信息收集的过程中常最作为入侵测试的一部分被利用。

对那些想要从共享数据中擦除一切个人元数据的用户来说,有一些方法从数据文件中移除元数据。你可以使用已有的文档或图片编辑软件,通常有自带的元数据编辑功能。在这个教程里,我会介绍一种不错的、单独的元数据清理工具,其目标只有一个:匿名一切私有元数据

MAT(元数据匿名工具箱)是一款专业的元数据清理器,使用Python编写。它属于Tor旗下的项目,而且是Live 版的隐私增强操作系统 Trails 的标配应用。

与诸如exiftool等只能对有限种类的文件类型进行写入的工具相比,MAT支持从各种各样的文件中消除元数据:图片(png、jpg)、文档(odt、docx、pptx、xlsx和pdf)、归档文件(tar、tar.bz2)和音频(mp3、ogg、flac)等。

在Linux上安装MAT

在基于Debian的系统(Ubuntu或Linux Mint)上,已经打包好MAT,所以安装很直接:

$ sudo apt-get install mat

在Fedora上,并没有预先生成的MAT软件包,所以你需要从源码生成。这是我在Fedora上生成MAT的步骤(不成功的话,请查看教程底部):

$ sudo yum install python-devel intltool python-pdfrw perl-Image-ExifTool python-mutagen
$ sudo pip install hachoir-core hachoir-parser
$ wget https://mat.boum.org/files/mat-0.5.tar.xz
$ tar xf mat-0.5.tar.xz
$ cd mat-0.5
$ python setup.py install 

使用MAT-GUI匿名元数据

一旦安装好,通过GUI和命令行都可以使用MAT。输入这个命令启动MAT的GUI:

$ mat-gui

尝试清理一个包含如下内置元数据的实例文档文件(如private.odt)。

点击“添加”按钮来添加需要清理的文件到MAT中。一旦载入文件,点击“确认”按钮对所有隐藏的元数据信息进行扫描。

只要元数据被MAT检测到,“State”状态就会被标记成“Dirty”。双击文件可以查看检测到的元数据。

点击“清理”按钮来清除文件中的元数据。MAT会自动清空文件中的所有私有元数据字段。

清除后的状态中不包含任何私有可辨识的痕迹:

从命令行匿名元数据

$ mat -c .

正如前面提到的,另一种调用MAT的方式是从命令行,使用mat命令可达到。

为了检查任何敏感的元数据,先前往文件所在的目录,然后运行:

$ mat -c .

这样会扫描当前目录和其子目录下的所有文件,并报告它们的状态(已清理或未清理)。

你可以使用“-d”选项来查看检测到的真实元数据:

$ mat -d  

如果不为mat命令提供任何选项,默认操作会移除文件的元数据。如果要在清理的过程中保留原始文件的备份,使用“-b”选项。下面命令会清除所有文件的元数据,并将原始文件存储为“*.bak”文件。

$ mat -b . 

查看所支持的文件类型,请运行:

$ mat -l 

故障排除

当前我在Fedora上使用编译版本的MAT遇到了下列问题。当我尝试在Fedora清除归档/文档文件的元数据时(如*.gz、*.odt、*.docx),MAT因为下列错误失败。如果你知道如何解决这个问题,请在评论里回复我。

  File "/usr/lib64/python2.7/zipfile.py", line 305, in __init__
    raise ValueError('ZIP does not support timestamps before 1980')
ValueError: ZIP does not support timestamps before 1980

总结

MAT是一款简单但非常好用的工具,用来预防从元数据中无意泄露私人数据。请注意如果有必要,文件内容也需要保护。MAT能做的是消除与文件相关的元数据,但并不会对文件本身进行任何操作。简而言之,MAT是一名救生员,因为它可以处理大多数常见的元数据移除,但不应该只指望它来保证你的隐私。[译者注:养成良好的隐私保护意识和习惯才是最好的方法]


via: http://xmodulo.com/2014/08/remove-file-metadata-linux.html

作者:Dan Nanni 译者:KayGuoWhu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

不允许第三方导出微信聊天记...
微信聊天记录的导出,一直是微信用户比较关心的事情,针对这个需求,网...
2026-01-22 17:48:45
微信聊天记录导出项目遭整治...
1月22日消息,据澎湃新闻报道,有消息显示腾讯已正式向GitHub...
2026-01-22 16:51:09
“安全补丁” 和 “系统更...
很多人在使用手机或电脑时,都会忽略系统弹出的 “更新提示”。有人觉...
2026-01-20 11:47:39
为什么你的下一部手机必须具...
IT之家 1 月 2 日消息,在接受科技媒体 Android Au...
2026-01-02 08:18:06
基于QT和OpenCV编写...
在Linux图像处理开发领域,许多开发者陷入"API调用大赛"的怪...
2025-12-27 12:15:20
卖出30万台玩具后,跃然创...
多知12月19日消息,截至目前,跃然创新前两代产品( Bubble...
2025-12-19 12:15:42

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...