
Недавно мы развернули эту новую машину 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, который включает параметр для применения данного разрешения ко всем файлам в папке и любых подпапках.