![]() |
NTFS права на папки: xcacls / subinacl
Добрый день!
Не расскажете кто чем устанавливает ACE на нужные папки? Смотрел cacls, xcacls, subinacl - плохо подходят, даже последняя самая мощная - не умеет работать с флагом Inheritance. Вроде бы должно нормально получится с xcacls.vbs - скачал последний с сайта микрософта, но вот проблемка появилась сразу же. Мне надо задать на папку следующее права: На саму папку - можно делать все кроме смены владельца, прав и удаления, на подпапки и файлы - полный доступ. Как делал я: Заменяем все права на папку C:\something правами на модификацию, наследование отключаем cscript.exe xcacls.vbs c:\something /G Someone:M /I REMOVE /SPEC A Доавляем права FULL на подпапки и папки cscript.exe xcacls.vbs c:\something /E /F /S /T /G Someone:F /I REMOVE /SPEC E Добавляем права DENY на DELETE cscript.exe xcacls.vbs c:\somtehing /E /D Someone:A /SPEC A Работает все до тех пор, пока не выполняется последняя строчка. После нее в папку перестает пускать вообще кого - либо. Если делать через оснастку - все ок. Толи я чегото не понимаю, толи баг это в скрипте. Самое что инетерсное что результирующие политики в вид абсолютно одинаковый что делаешь в оснастке, что скриптом, но во втором случае не работает :( |
Цитата:
Собственно, на каком этапе выполняется сценарий? Работает ли он в уже установленной ОС? Если нет, то к автоустановке это имеет весьма отдаленное отношение. |
Вложений: 1
Скрипт стандартный, как я уже говорил. Прикладываю файл.
Сценарий должен выполнятся на 13 минуте, и раздавать права на определнные файлы и папки. Он не сработал так, как я писал Выше, ни при Unattended, ни в голой установленной системе. Собсвтенно я и хотел узнать - мож кто чем то другим пользовался для решения таких проблем во время предустановки? Проблема следующая - дать определенной папке невозможность удаления, но в то же время полный доступ на все ее содержание. |
Ionicman, я что-то не пойму, а зачем вы используете этот файл вообще?
Код:
'* File: XCACLS.VBS |
xcacls не поддерживает включение / отключение наследования. Чтобы сделать то, как мне надо ( я писал выше про папки ), мне надо отключить наследование.
xcacls из ToolKit не поддерживает это, во вторых он не умеет работать с подпапками, он может устанавливать права только НА УКАЗАННУЮ ПАПКУ и НА ЕЕ ФАЙЛЫ. Он не умеет усатанваливать права на подпапки и файлы например - что вполне нормально делается в ГУИ винды, и вроде как этим скриптом. На сайте микрософта прямо так и написано от чего возник скрпит - чтобы добавить функциональность, которй нет в xcacls. |
Ясно. В общем, вопрос к автоустановке отношения не имеет. Если вы решите проблему в установленной ОС, то применить решение в процессе установки будет делом техники. Переношу в ХР.
|
Господа, а не подскажите, как удалить файлы/папки, к которым доступ запрещён? Смотрел тут, команда cacls не отрабатывает.
|
Мне необходимо задать скриптом special permission (закрыть доступ на создание подпапок в определённой папке, но оставить остальные права входящие в Modify)
/pace =everyone ACCESS_DENIED_ACE_TYPE-0x1 CONTAINER_INHERIT_ACE-0x2 OBJECT_INHERIT_ACE-0x1 Type of access: Special acccess : Detailed Access Flags : FILE_APPEND_DATA-0x4 Ни xcacls ни subinacl не позволяет выставлять такие права. Зато это позволяет Secedit накатать шаблон применения гупповой политики(.inf файл) вручную в котором указать Код:
[Unicode] батник для применения: Код:
@rem применение прав на ntfs из inf шаблона групповой политики Ionicman, есть ещё утилиты icacls и sc - я ими никогда не пользовался, попробуй может как раз в твоём случае пригодятся Подскажите как обойти проблему затирания существующих прав? |
Забыл указать ещё одно условие - скрипт должен выполняться из под учётной записи с правами пользователя, папка к которой применяются права по умолчанию имеет доступ full control для этого пользователя.
Ни одна из утилит не даёт возможность сделать это. Остаётся только GUI поэтому написал autoit скрипт: Код:
;Запрещение пользователю создавать папки на рабочем столе Код:
@rem Запрещение пользователю создавать папки на рабочем столе |
Время: 06:14. |
Время: 06:14.
© OSzone.net 2001-