Назад | Перейти на главную страницу

Клиенты Mac, обращающиеся к общему ресурсу Windows NTFS, сбрасывают разрешения на более глубоких уровнях папки. Зачем?

Вот установка:

Поведение клиента Windows (как XP, так и Windows 7):

Поведение клиента Mac:

Это похоже на то, что клиенты Mac используют разрешения NTFS на уровне общей папки ( c:\share) и применяя его непосредственно к c:\share\add_user3\test.txt. Разрешения от c:\share\add_user3 не соблюдаются / не передаются по наследству.

Все пользователи клиента Mac являются локальными администраторами на сервере (и, следовательно, имеют полный контроль). Это необходимо с операционной точки зрения, так как все клиенты (даже пользователи Mac) должны иметь доступ к серверу с правами администратора (в основном с правами администратора IIS).

В первую очередь я работаю с Windows, поэтому кажется, что Mac «неправильные», но, возможно, это просто другое поведение (т.е. здесь нет «стандарта», который нарушается). Есть идеи, почему это происходит? И, учитывая, что мы хотим, чтобы разрешения вели себя как клиенты Windows, есть ли идеи о том, как обеспечить это на стороне Mac?

Дополнительные ответы

Это вызвано чем-то Apple называет "безопасное сохранение"". Когда Mac сохраняет файл в общей папке SMB, он фактически записывает файл в скрытую папку с именем .TemporaryItems в корне общего ресурса удаляет оригинал (если он существует), затем перемещает файл в фактическую папку. Поскольку сохраненный файл новый, у него появился новый владелец с разрешениями, унаследованными от .TemporaryItems.

Решение, которое я использую, простое: удалить разрешения на запись для .TemporaryItems. Кажется, это отключает безопасное сохранение.

Я читал это создание com.apple.desktopservices с атрибутом "DSDontWriteNetworkStores" остановит клиентов от создания .TemporaryItems, но по моему опыту, это не работает в OS X 10.8 и новее.