none
Icacls - задание разрешений, наследуемые подпапками и файлами RRS feed

  • Вопрос

  • Доброе время суток. Не могу понять как с помощью icacls назначить разрешения, чтобы они применялись для папки, подпапок и файлов.
    Пример. Есть папка e:\test. Назначаю пользователю test права на изменение:
    icacls e:\test /grant test:(M) /t
    Проверяю через Проводник - права назначены "Только для этой папки"
    Смотрю внимательно справку. Вроде как нужно применить параметры OI, CI
    пробую:
    icacls e:\test /grant test:(M) /t OI
    - получаю "Недопустимый параметр: "OI"
    Через слэш (/) то же самое.
    Пробовал такие параметры дописывать: /inheritance:e, /setintegritylevel H
    - Не работает.
    Как через эту команду сделать применение разрешений для всех подпапок и файлов ?
    11 апреля 2020 г. 10:40

Ответы

  • Evgenii Alekseev, спасибо за ответ, но ваш метод неудобен тем, что при варианте Windows Server Core я в Проводнике никаких разрешений не назначу, т.к. проводник в WinSrv 2019 Core, после его появления после установки FOD, не имеет вкладки "Безопасность". Поэтому мне нужно понимать как назначать нужные разрешения из icacls. Тема актуальна.

    Svolotch, так параметры наследования пишутся просто в скобках и все ? ОК, спасибо. Из справки я этого не понял.

    • Помечено в качестве ответа __guest__ 12 апреля 2020 г. 6:20
    12 апреля 2020 г. 6:20

Все ответы

  • В качестве альтернативы:

    1. Создайте папку (например, C:\Template) и раздайте на неё вручную необходимые разрешения.

    2. Выполните команду: icacls C:\Template /save c:\template-acl.txt

    3. В файле c:\template-acl.txt будет строчка в SDDL-формате (включая упомянутый флаг OI), которая Вам нужна.

    4. В дальнейшем можно использовать даже сам этот файл в качестве шаблона (нужно только будет изменять в первой строчке имя папки, на которые будут накатываться разрешения). Для этого в команде icacls есть ключе "/restore"

    • Предложено в качестве ответа Vector BCOModerator 11 апреля 2020 г. 11:49
    11 апреля 2020 г. 11:41
  • C:\>icacls .\temp\
    .\temp\ BUILTIN\Administrators:(I)(OI)(CI)(F)
            NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
            BUILTIN\Users:(I)(OI)(CI)(RX)
            NT AUTHORITY\Authenticated Users:(I)(M)
            NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)

    Successfully processed 1 files; Failed processing 0 files

    C:\>icacls .\temp\ /grant test:(CI)(IO)(M)
    processed file: .\temp\
    Successfully processed 1 files; Failed processing 0 files

    C:\>icacls .\temp\
    .\temp\ DESKTOP\test:(CI)(IO)(M)
            BUILTIN\Administrators:(I)(OI)(CI)(F)
            NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
            BUILTIN\Users:(I)(OI)(CI)(RX)
            NT AUTHORITY\Authenticated Users:(I)(M)
            NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)

    Successfully processed 1 files; Failed processing 0 files
    • Изменено Svolotch 11 апреля 2020 г. 13:49
    • Предложено в качестве ответа Vector BCOModerator 11 апреля 2020 г. 14:06
    11 апреля 2020 г. 13:45
  • Evgenii Alekseev, спасибо за ответ, но ваш метод неудобен тем, что при варианте Windows Server Core я в Проводнике никаких разрешений не назначу, т.к. проводник в WinSrv 2019 Core, после его появления после установки FOD, не имеет вкладки "Безопасность". Поэтому мне нужно понимать как назначать нужные разрешения из icacls. Тема актуальна.

    Svolotch, так параметры наследования пишутся просто в скобках и все ? ОК, спасибо. Из справки я этого не понял.

    • Помечено в качестве ответа __guest__ 12 апреля 2020 г. 6:20
    12 апреля 2020 г. 6:20