Команда icacls - управління доступом до файлів і папок.

Відео: 117. Управління загальними дисковими ресурсами. Загальний доступ до файлів і папок



Команда iCACLS дозволяє відображати або змінювати списки управління доступом (Access Control Lists (ACLs)) до файлів і папок файлової системи. Утиліта iCACLS.EXE є подальшим удосконаленням утиліти управління доступом CACLS.EXE.

Управління доступом до об`єктів файлової системи NTFS реалізується з використанням спеціальних записів в таблиці MFT (Master File Table). Кожному файлу або папці файлової системи NTFS відповідає запис в таблиці MFT, яка містить спеціальний дескриптор безпеки SD (Security Descriptor). Кожен дескриптор безпеки містить два списки контролю доступу:

System Access-Control List (SACL) - системний список управління доступом.

Discretionary Access-Control List (DACL) - список управління виборчим доступом.

SACL Використовуються технології і використовується для забезпечення аудиту спроб доступу до об`єктів файлової системи, визначаючи умови при яких генерується події безпеки. В операційних системах Windows Vista і більш пізніх, SACL використовується ще і для реалізації механізму захисту системи з використанням рівнів цілісності (Integrity Level, IL).

DACL - це власне і є список управління доступом ACL в звичайному розумінні. Саме DACL формує правила, що визначають, кому дозволити доступ до об`єкта, а кому - заборонити.

Кожен список контролю доступу (ACL) являє собою набір елементів (записів) контролю доступу - Access Control Entries, або ACE). записи ACE бувають двох типів (що дозволяє і забороняє доступ), і містить три поля:

  • SID
  • користувача або групи, до якого застосовується це правило

  • вид доступу
  • , на яке поширюється дане правило

  • Тип ACE
  • - дозволяє або забороняє.

    SID - Security ID - унікальний ідентифікатор, який присвоюється кожному користувачеві або групі користувачів в момент їх створення. Подивитися приклади SID можна, наприклад за допомогою команди WHOAMI / ALL. Як бачимо, система управління доступом до об`єктів NTFS оперує не іменами, а ідентифікаторами SID. Тому, наприклад не можна відновити доступ до файлів і папок, що існував для віддаленого з системи користувача, створивши його заново з тим же самим ім`ям - він отримає новий SID і правила записів ACE, що застосовуються до старого ідентифікатором SID, виконуватися не будуть.

    При визначенні результатів запитів на доступ до об`єктів файлової системи NTFS застосовні наступні правила:

    Якщо в дескрипторі безпеки відсутня DACL, то об`єкт вважається незахищеним, тобто всі мають до нього необмежений доступ.

    Якщо DACL існує, але не містить жодного елемента ACE, то доступ до об`єкта закритий для всіх.

    Для того щоб змінити DACL об`єкта, користувач (процес) повинен мати право запису в DACL (WRITE_DAC - WDAC). Право записи може бути дозволено або заборонено, за допомогою утиліти icalc.exe, але навіть якщо встановлено заборону, все одно дозвіл на запис є хоча б у одного користувача власника файлу або папки (поле Owner в дескрипторі безпеки), так як власник завжди має право змінювати DAC.

    Варіанти застосування команди iCACLS:

  • ICACLS ім`я / save ACL_файл [/ T] [/ C] [/ L] [/ Q]
  • - збереження DACL для файлів і папок, відповідних імені, в ACL-файл для подальшого використання з командою / restore. Зверніть увагу, що мітки SACL, власника і цілісності не зберігаються.

  • ICACLS каталог [/ substitute SidOld SidNew [...]] / restore ACL_файл [/ C] [/ L] [/ Q]
  • - застосування раніше збережених DACL до файлів в каталозі.

  • ICACLS ім`я / setowner користувач [/ T] [/ C] [/ L] [/ Q]
  • - зміна власника всіх відповідних імен. Цей параметр не призначений для примусової зміни власника-використовуйте для цієї мети програму takeown.exe.

  • ICACLS ім`я / findsid Sid [/ T] [/ C] [/ L] [/ Q]
  • - пошук всіх відповідних імен, що містять ACL з явним згадкою ВД безпеки.

  • ICACLS ім`я / verify [/ T] [/ C] [/ L] [/ Q]
  • - пошук всіх файлів з неканонічними ACL або довжинами, що не відповідають кількості ACE.

  • ICACLS ім`я / reset [/ T] [/ C] [/ L] [/ Q]
  • - заміна ACL на успадковані за замовчуванням для всіх відповідних файлів.

  • ICACLS ім`я [/ grant [: r] Sid: perm [...]] [/ deny Sid: perm [...]] [/ remove [: g |: d]] Sid [...]] [/ T] [/ C] [/ L] [/ Q] [/ setintegritylevel Level: policy [...]]


  • / Grant [: r] Sid: perm - надання зазначених прав доступу пользователя.С параметром : r ці дозволи замінюють будь-які ранеепредоставленние явні дозволу. без параметра : r разрешеніядобавляются до будь-яких раніше наданих явним дозволами.

    / Deny Sid: perm - явний відгук зазначених прав доступу пользователя.Добавляется ACE явного відкликання для заявлених дозволів судаленіем цих же дозволів в будь-якому явному надання.

    / Remove [: [g |: d]] Sid - видалення всіх входжень ВД безпеки в ACL.С параметром : g видаляються всі входження наданих прав в етомІД безпеки. З параметром : d видаляються всі входження відкликаних прав в етомІД безпеки.

    / Setintegritylevel [(CI) (OI)] рівень - явне додавання ACE уровняцелостності до всіх відповідних файлів. Рівень задаетсяоднім з наступних значень:

    L [ow]: низький

    M [edium]: середній

    H [igh]: високий

    Рівню можуть передувати параметри успадкування для ACEцелостності, що застосовуються тільки до каталогів.

    Механізм цілісності Windows Vista і більш пізніх версій ОС, розширює архітектуру безпеки шляхом визначення нового типу елемента списку доступу ACE для представлення рівня цілісності в дескрипторі безпеки об`єкту (файлу, папки). Новий ACE представляє рівень цілісності об`єкта. Він міститься в системному ACL (SACL), який раніше використовуваному тільки для аудиту. Рівень цілісності також призначається токені безпеки в момент його ініціалізації. Рівень цілісності в токені безпеки представляє рівень цілісності (Integrity Level, IL) користувача (процесу). Рівень цілісності в токені порівнюється з рівнем цілісності в дескрипторі об`єкта коли монітор безпеки виконує перевірку доступу. Система обмежує права доступу в залежності від того вище або нижче рівень цілісності суб`єкта по відношенню до об`єкта, а також в залежності від прапорів політики цілісності у відповідній ACE об`єкта. Рівні цілісності (IL) представлені ідентифікаторами безпеки (SID), які представляють також користувачів і групи, рівень яких закодований у відносному ідентифікатор (RID) ідентифікатора SID. Найбільш поширені рівні цілісності:

    SID = S-1-16-4096 RID = 0x1000 - рівень Low (Низький обов`язковий рівень)

    SID = S-1-16-8192 RID = 0x2000 - рівень Medium (Середній обов`язковий рівень)




    SID = S-1-16-12288 RID = 0x3000 - рівень High (Високий обов`язковий рівень)

    SID = S-1-16-16384 RID = 0x4000 - рівень системи (Обов`язковий рівень системи).

    / Inheritance: e | d | r

    e - включення успадкування

    d - відключення успадкування та копіювання ACE

    r - видалення всіх успадкованих ACE

    ВД безпеки можуть бути в числової формі (SID), або у формі зрозумілого імені (username) .Якщо задана числова форма, додайте * на початок ВД безпеки, наприклад - * S-1-1-0.Параметри командного рядка iCACLS:

    / T - операція виконується для всіх відповідних файлів і каталогів, розташованих в заданому каталозі.

    / C - виконання операції триває за будь-яких файлових ошібках.Сообщенія про помилки як і раніше виводяться на екран.

    / L - операція виконується над самою символічним посиланням, а не над її цільовим об`єктом.

    / Q - утиліта ICACLS пригнічує повідомлення про успішне виконання.

    Утиліта ICACLS зберігає канонічний порядок записів ACE:

    явні відгуки

    явні надання

    успадковані відгуки

    успадковані надання




    Дозвіл - це маска дозволу, яка може здаватися в однойіз двох форм:

  • послідовність простих прав:


  • N - доступ відсутній

    F - повний доступ

    M - доступ на зміну

    RX - доступ на читання і виконання

    R - доступ тільки на читання

    W - доступ тільки на запис

    D - доступ на видалення

  • перелік
  • окремих прав через кому в дужках:

    DE - видалення
    RC - читання
    WDAC - запис DAC
    WO - зміна власника
    S - синхронізація
    AS - доступ до безпеки системи
    MA - максимально можливий
    GR - спільне читання
    GW - загальна запис
    GE - спільне виконання
    GA - всі загальні
    RD - читання даних, перерахування вмісту папки
    WD - запис даних, додавання файлів
    AD - додавання даних і вкладених каталогів
    REA - читання додаткових атрибутів
    WEA - запис додаткових атрибутів
    X - виконання файлів і огляд папок
    DC - видалення вкладених об`єктів
    RA - читання атрибутів
    WA - запис атрибутів

    Права спадкування можуть передувати будь-якій формі і застосовуються тільки до каталогів:

    (OI) - успадкування об`єктами

    (CI) - успадкування контейнерами

    (IO) - тільки спадкування

    (NP) - заборона на поширення успадкування

    (I) - успадкування дозволів від батьківського контейнера

    Приклади використання iCACLS:

    icacls - запуск без ключів використовується для отримання короткої довідки по використанню команди.

    icacls C: Users - відобразити список управління доступом для папки C: Users. Приклад відображається:

    C: Users NT AUTHORITY система: (OI) (CI) (F)
    BUILTIN Адміністратори: (OI) (CI) (F)
    BUILTIN Користувачі: (RX)
    BUILTIN Користувачі: (OI) (CI) (IO) (GR, GE)
    Все: (RX)
    Все: (OI) (CI) (IO) (GR, GE)

    Успішно оброблено 1 файлів-не вдалося обробити 0 файлів



    icacls c: windows * / save D: win7.acl / T - збереження ACL для всіх файлів в каталозі c: windows і його підкаталогах в ACL-файл D: win7.acl. Збережені списки ACL дозволять відновити управління доступом до файлів і каталогів в початковий стан, тому, перш ніж виконувати будь-які зміни, бажано мати файл збережених списків ACL.

    Приклад даних збережених списків доступу ACL:

    acpimof.dll

    D: AI (A-ID-FA --- SY) (A-ID-FA --- BA) (A-ID-0x1200a9 --- BU)

    addins

    D: PAI (A - FA --- S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464) (A-CIIO-GA --- S-1-5-80-956008885-3418522649- 1831038044-1853292631-2271478464) (A - 0x1301bf --- SY) (A-OICIIO-GA --- SY) (A - 0x1301bf --- BA) (A-OICIIO-GA --- BA) (A --0x1200a9 --- BU) (A-OICIIO-GXGR --- BU) (A-OICIIO-GA --- CO)

    AppCompat

    D: AI (A-ID-FA --- S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464) (A-CIIOID-GA --- S-1-5-80-956008885-3418522649 -1831038044-1853292631-2271478464) (A-ID-FA --- SY) (A-OICIIOID-GA --- SY) (A-ID-FA --- BA) (A-OICIIOID-GA --- BA ) (A-ID-0x1200a9 --- BU) (A-OICIIOID-GXGR --- BU) (A-OICIIOID-GA --- CO)

    . . .

    У тих випадках, коли при виконанні команди iCACLS виникає помилка, викликана відмовою в доступі до оброблюваного об`єкту, можна продовжити виконання команди, якщо заданий параметр / C:

    icacls "C: System Volume Information *" / save D: SVI-C.acl / T / C - збереження списків управління доступом ACL для всіх файлів і підкаталогів каталогу C: System Volume Information з продовженням обробки в разі виникнення помилки. За результатами обробки відображається повідомлення про кількість успішно, і не успішно, оброблених файлів.

    Для відновлення доступу до файлів і папок використовується параметр / restore:

    icacls c: windows / restore D: win7.acl - відновлення списків контролю доступу до файлів і папок каталогу c: windows з раніше збереженого ACL-файлу D: win7.acl.

    icacls C: Users user1 tmp Myfile.doc / grant boss: (D, WDAC) - надання користувачу boss дозволів на видалення і запис DAC для файлу C: Users user1 tmp Myfile.doc.

    icacls C: Users user1 tmp Myfile.doc / grant * S-1-1-0: (D, WDAC) - надання користувачу з ВД безпеки S-1-1-0 (група "Все") дозволів на видалення і запис DAC для файлу C: Users user1 tmp Myfile.doc.icacls C: Users user1 tmp Myfile.doc / grant boss: F - надання користувачу boss повного доступу до файлу C: Users user1 tmp Myfile.doc.



    Поділися в соціальних мережах:

    Схожі
    Центр управління мережами windowsЦентр управління мережами windows
    Як отримати доступ до файлів, папок, розділів реєстру в windows vista і windows 7Як отримати доступ до файлів, папок, розділів реєстру в windows vista і windows 7
    Root essentialsRoot essentials
    Команда regini - управління доступом до розділів реєстру.Команда regini - управління доступом до розділів реєстру.
    Як налаштувати мережу в windows 8 ?!Як налаштувати мережу в windows 8 ?!
    Нове покоління файлової системи для windows - refsНове покоління файлової системи для windows - refs
    Команда convertКоманда convert
    Захист вмісту файлів і папок в windows xpЗахист вмісту файлів і папок в windows xp
    System control proSystem control pro
    Команда format - форматування диска для роботи з windows.Команда format - форматування диска для роботи з windows.
    » » Команда icacls - управління доступом до файлів і папок.