Разрешения для файлов Windows не применяются к существующим файлам

Разрешения для файлов Windows не применяются к существующим файлам

Недавно мы развернули эту новую машину Windows 8.1 в домене, другие рабочие столы все еще используют XP. Одним из устанавливаемых нами программ является Oracle Client, он устанавливается вручную на машине с использованием учетной записи администратора домена (т. е. не развертывается через GPO или что-то подобное).

Пользователю компьютера (не администратору) необходим полный доступ к папке, где установлено программное обеспечение C:\oracle\client\[...]. На компьютерах с XP я бы вошел в систему как администратор на компьютере, щелкнул правой кнопкой мыши по корневой папке, C:\oracleзатем перешел в раздел «Безопасность», предоставил бы полный доступ [computer_name]\usersгруппе, проверил Apply to sub-foldersнастройки и щелкнул бы «ОК».

Здесь это не работает: пользователь получает полный доступ ко всем foldersи sub-folders, он может открывать папки, создавать новые файлы где угодно; но у пользователя нет доступа к самим файлам, он получает Access Denied. Однако если я изменю разрешения на один конкретный файл, то пользователь сможет получить к нему доступ.

Я повторил операцию, используя [domain]\[username]instead, и даже дал пользователю право собственности на папки, но безуспешно. Папки в порядке, файлы не получают изменение разрешения.

Так что я:

  • Полные разрешения на чтение/запись/выполнение, применяемые к папке и ее подпапкам
  • Разрешения применяются к папкам, но не к существующим файлам.
  • Изменение прав доступа к одному файлу работает (но там тысячи файлов)

Я что-то упустил? Я делал это много-много раз на машинах XP и 7, поэтому я думаю, что проблема в 8.1, но я не могу ничего найти по этому поводу.

Спасибо!

решение1

Похоже, что разрешение установлено на Apply to This folder and subfolders, а не на This folder, subfolders and files.

Итак, вы бы изменили это:

введите описание изображения здесь

Конечно, если разрешения уже установлены This folder, subfolders and files, вам может потребоваться просто принудительно распространить разрешения на дочерние объекты, установив Replace all child object permissions with inheritable permissions from this objectфлажок.

введите описание изображения здесь

И, конечно, кое-что можно сделать с помощью PowerShell, но для них нет собственного параметракомандлет Set-ACL, поэтому вам понадобится ваш скрипт для рекурсивного применения разрешений. Поэтому, возможно, лучше использоватьIcalcs, который включает параметр для применения данного разрешения ко всем файлам в папке и любых подпапках.

Связанный контент