Mac OSX 10.6.6 - 是否可以允许访问您不想授予访问权限的目录内的目录

Mac OSX 10.6.6 - 是否可以允许访问您不想授予访问权限的目录内的目录

“MyDir/Library/Application Support/Games” 里面有一个目录,我希望允许所有用户读取。但是,我不希望他们能够读取 MyDir 中的任何其他目录。

实现这一目标的最佳方法是什么?

谢谢。

答案1

没有真正好的方法来做到这一点,因为为了进入该目录,其他用户需要能够进入 MyDir、MyDir/Library 等。也就是说,有几种方法可以实现它:

  1. 您可以设置 MyDir、MyDir/Library 等的权限以允许遍历,但不允许读取。这种方法的问题在于:其他用户无法正常导航到该文件夹​​,他们必须使用 Finder 的“转到文件夹”选项(或Cmd+ Shift+ G)并输入路径。此外,尽管他们无法看到 MyDir、MyDir/Library 等的内容,但如果他们知道(/可以猜出)名称,他们就可以访问那里的文件。由于 Libraries 的内容往往非常可预测,这意味着他们能够访问 MyDir/Library/Preferences、MyDir/Library/Keychains 等,除非您也妥善保护了它们。假设您想这样做,以下是相关的设置命令(警告:这些命令不易逆转,请在执行前仔细考虑):

    chmod og= MyDir/* MyDir/Library/* MyDir/Library/Application\ Support/*
    chmod og=x MyDir MyDir/Library MyDir/Library/Application\ Support
    chmod og=rx MyDir/Library/Application\ Support/Games
    
  2. 您实际上可以将内容放在更易于访问的地方,并将 MyDir/Library/Application Support/Games 作为其符号链接。这种做法的潜在问题来自不遵循符号链接的程序(尤其是安装程序可能会将其替换为实际目录 - 您必须手动清理该目录)。以下是使用 /Users/Shared/Games 作为公共位置的示例:

    mkdir /Users/Shared/Games
    ln -s /Users/Shared/Games MyDir/Library/Application\ Support/Games
    

相关内容