为什么 MS Word 在 Ubuntu 上通过 VMware Player 运行时会保存具有可执行权限的 .docx 和 .pdf 文件?

为什么 MS Word 在 Ubuntu 上通过 VMware Player 运行时会保存具有可执行权限的 .docx 和 .pdf 文件?

我通过 VMware Player 7.0 运行 Ubuntu 14.04 和 MS Word 2013。我通过在 VMPlayer 中将我的主文件夹挂载为网络文件夹,在我的客户机和主机之间共享文件。我的问题是,每次我用 Word 保存文件(使用 .pdf 和 .docx 测试)时,它都会以权限 保存-rwxr-xr-x。我已经存在的 word 文件都具有权限-rw-rw-r--,这对我来说似乎更合理。LibreOffice 在保存为 .odt 和 .docx 时也会使用这些更严格的权限。

不久前,我读了一些关于 Word 在 OS X 上出现类似问题的旧帖子,但找不到任何与我为什么会出现此问题相关的内容。有人知道为什么这些文件以可执行权限保存吗?除了使用 chmod 手动更改权限外,我还能如何修复它?除了在终端中让我感到困惑之外,将它们作为可执行文件还有什么危害吗?

干杯,

更新

我做了更多测试,结果发现在 Windows 客户机中创建的每个文件都设置了可执行权限。我也尝试了 VMPlayer 6.0.3,也发生了同样的事情。我以前创建文件时一定错过了这一点。我想知道为什么这些是默认权限,以及它们是否可以更改,但根据 @gronosaj 的评论,这似乎是一个很难解决的问题。我在 VMware Player 论坛上发布了此信息在 SU 上看看他们是否可以给我提供更多信息。

答案1

Windows 有自己的安全模型(ACL、ACE),NTFS 支持该模型。

Linux 不支持此安全模型。在 Linux 中挂载 NTFS 卷时,每个文件将具有相同的模式(权限位)、所有者和组所有者。这可以在挂载时在挂载选项中设置。因此,无论挂载什么,它的模式都设置为 777 或类似值。

FAT 文件系统也会发生同样的情况。

答案2

您遇到的症状与我使用具有 Samba 共享和为 Linux Ext4 文件系统启用 POSIX ACL 的 Windows Guest VM 时遇到的症状完全一样。

假设来宾共享通过类似 samba 的东西运行(也许 VMWare 播放器重用了一些 samba 代码),它可能是以下几件事的组合:

  • sambamap archive功能可以开启(它重新使用所有者的 unix 执行位)为 Windows 提供“存档”标志,并且办公文档通常具有该设置。
  • Microsoft Office 应用程序不仅会创建文件,还会对~*.tmp用于提供恢复功能的文件进行额外的改组和重命名。在执行这些操作时,更改一些文件的权限。 看Samba 创建掩码无法正常工作以获得更详细的解释。
  • 默认 ACL 的错误行为“看起来这也可能与 Samba 中的一个错误有关。

相关内容