2

Внутри «MyDir /Library /Application Support /Games» находится каталог, который я хотел бы разрешить всем пользователям читать. Однако я не хочу, чтобы они могли читать любой другой каталог в MyDir.

Каков наилучший способ сделать это?

Благодарю.

1 ответ1

0

Нет действительно хорошего способа сделать это, потому что для того, чтобы попасть в этот каталог, другие пользователи должны иметь возможность войти в MyDir, MyDir/Library и т.д. Тем не менее, есть несколько способов сделать это:

  1. Вы можете установить разрешения для MyDir, MyDir/Library и т.д., Чтобы разрешить обход, но не чтение. Проблемы с этим подходом: другие пользователи не смогут нормально переходить к папке, им придется использовать опцию Finder Go to Folder (или Cmd+Shift+G) и ввести путь к ней. Кроме того, хотя они не смогут видеть содержимое MyDir, MyDir/Library и т.д., Они смогут получить доступ к файлам там, если они будут новые (/ могли угадать) имена. Поскольку содержимое библиотек, как правило, довольно предсказуемо, это означает, что они смогут получить доступ к 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
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .