【问题标题】:Why are my OS X files executable; should I change that?为什么我的 OS X 文件可以执行;我应该改变吗?
【发布时间】:2015-07-07 11:58:36
【问题描述】:

在我的 OS X 机器上使用终端搜索一些目录,我发现许多文件(主要是旧的 .doc.xls.jpg 甚至一些 .url 文件)都有权限

-rwx------+

而不是更常见(和预期)

-rw-r--r--+

-rw-r--r--@

我不清楚为什么会这样。大多数有问题的文件都较旧(有些很旧,可能来自它们驻留在 Windows 机器上的黑暗时期),并且自创建以来已经进行了许多迁移和更新。所以,

  1. 对于具有这些权限的大量(通常是较旧的)文件是否存在任何明显或常见的原因(或可能是正当的原因)?
  2. 我有什么理由担心它们是可执行的吗?

我假设如果 2 的答案是肯定的,我可以 simply locate the offending fileschmod a-x

【问题讨论】:

标签: macos security file-permissions


【解决方案1】:
  1. 对于具有这些权限的大量(通常是较旧的)文件是否存在任何明显或常见的原因(或可能是正当的原因),并且

是的,FAT 没有任何权限的概念,因此通过 FAT 卷复制的文件(即格式化的 USB 记忆棒和 SD 卡的数量)经常具有权限-rwx------。 SMB 也不支持 Unix 风格的权限,除非使用 Unix 扩展,因此以这种方式复制的文件也可以最终获得此类权限。

  1. 我有什么理由担心它们是可执行的吗?

在大多数情况下,不会。如果您在PATH 中有它们,并且它们的名称与您正在使用的某些命令的名称相同,并且它们是一个多语言文档,也可以作为可执行文件运行,那么可能会发生一些邪恶的事情。这些情况不太可能出现,但如果您担心,请随时按照您的描述修复权限。

【讨论】:

  • 有趣。我从来不知道 FAT。
  • 我的.DS_Store文件有什么理由可以执行吗?
  • @raxacoricofallapatorius 不,唯一应该是可执行的文件是您实际打算执行的文件(二进制文件、shell 脚本等)和目录。 .DS_Store 文件只是存储数据;由于上述机制之一,他们可能设置了可执行位,或者权限可能被弄乱的各种其他方式(权限被搞砸的方式有很多,有点乱)。
  • 实际上,FWIW,Apple 的照片应用程序库 (./Pictures/Photos Library.photoslibrary/) 中有一堆照片(不是全部,而是一些较旧的照片)设置了执行位,以及 GameKit 中的大量图像( ./Library/Containers/com.apple.gamecenter/Data/Library/Caches/GameKit/Images/)。我希望取消设置 x 位不会搞砸(现在为时已晚)。
【解决方案2】:

我也发现从 Windows 的 ACL 到 OSX 的 BSD 权限的转换有时会出错。如果它不会被执行(即,如果它是一个普通文件,例如图像),则没有理由不取消设置可执行位。当然,目录需要您设置该位才能 cd 进入它们。

另一件需要注意的事情:如果文件通过 samba 挂载到远程卷上,您可能还会看到这种情况。在这种情况下,权限与卷的安装方式有关,与文件本身无关。

【讨论】:

    猜你喜欢
    • 2012-09-28
    • 1970-01-01
    • 2017-05-05
    • 2015-08-30
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多