如何在 Linux 上删除文件元数据以保护您的隐私如何在 Linux 上删除文件元数据以保护您的隐私如何在 Linux 上删除文件元数据以保护您的隐私如何在 Linux 上删除文件元数据以保护您的隐私
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 上删除文件元数据以保护您的隐私

典型的数据文件通常具有关联的元数据,元数据是有关文件的描述性信息,以一组名称-值对的形式表示。常见的元数据包括创建者姓名、用于生成文件的工具、文件创建/更新日期、创建位置、编辑历史记录等。EXIF(图像)、RDF(网络资源)、DOI(数字文档)是一些流行的元数据标准。

虽然元数据在数据管理方面有其自身的优点,但它实际上会对您的隐私产生不利影响。例如,照片图像中的 EXIF 元数据可以揭示个人身份信息,例如您的相机型号、拍摄的 GPS 坐标、您最喜欢的照片编辑器软件等。文档和电子表格中的元数据包含作者/隶属信息和其他编辑历史记录。不要偏执,但元数据收集工具(例如metagoofil)经常在信息收集阶段作为渗透测试的一部分被利用。

对于那些想要从任何共享数据中删除任何个性化元数据的人,有多种方法可以从数据文件中删除元数据。您可以使用现有的文档或图像编辑器软件,这些软件通常具有内置的元数据编辑功能。在本教程中,让我介绍一个很好的独立元数据清理工具,它是为单一目标而开发的:为了保护您的隐私而对所有元数据进行匿名化。

在 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。您可以双击该文件来查看检测到的元数据。

要清除文件中的元数据,请单击Clean 图标。 MAT 将自动清空文件中的所有私有元数据字段。

清理后的状态是没有任何个人可识别的痕迹:

从命令行对元数据进行匿名化

如前所述,调用 MAT 的另一种方法是从命令行,为此,请使用 mat 命令。

要检查任何敏感元数据,请首先转到文件所在的目录,然后运行:


$ mat -c .

它将扫描当前目录及其子目录中的所有文件,并报告它们的状态(干净或不干净)。

您可以使用 -d 选项检查检测到的实际元数据:


$ mat -d <input_file>

如果您没有为 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 可以成为救星,因为它可以处理最常见的元数据删除,但您不应仅仅依靠它来保证您的隐私。

©2015-2025 艾丽卡 support@alaica.com