Поясніть вихід ICACLS.EXE, рядок за рядком, пункт за пунктом


16

Що це означає:

C:\foo\> icacls .
. NT AUTHORITY\IUSR:(M)
  BUILTIN\IIS_IUSRS:(M)
  BUILTIN\IIS_IUSRS:(OI)(CI)(M)
  NT AUTHORITY\IUSR:(OI)(CI)(M)
  BUILTIN\IIS_IUSRS:(I)(OI)(CI)(RX)
  NT AUTHORITY\IUSR:(I)(OI)(CI)(RX)
  NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
  BUILTIN\Administrators:(I)(OI)(CI)(F)

Я думаю, що перший означає, що userid отримує дозволи на змінення каталогу, а це означає, що користувач може створювати файли, оновлювати файли або видаляти файли. Правильно? Що таке користувач "NT AUTHORITY \ IUSR"? Це дійсно єдиний ідентифікатор користувача? Це ідентифікатор користувача IIS за замовчуванням?

ОК, другий рядок, я думаю, стосується групи. Він отримує однакові дозволи.

Як щодо всіх цих рядків з (I) та (OI) тощо. Будь ласка, поясніть.

Відповіді:


24

З статті Microsoft про ICACLS

Записи - це користувачі та групи, характерні для цього файлу (DOMAIN \ USER або GROUP), перелічені дозволи:

Ідентифікатори ідентифікаторів сторін можуть мати числову або дружню форму імен. Якщо ви використовуєте числову форму, прикріпіть символ wildcard * до початку SID.

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

  • Явні заперечення
  • Явні гранти
  • Спадкові заперечення
  • Спадкові дотації

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

  1. Послідовність простих прав:
    • F (повний доступ)
    • M (змінити доступ)
    • RX (читати та виконувати доступ)
    • R (доступ лише для читання)
    • W (доступ лише для запису)
  2. Список, розділений комами в дужках конкретних прав:
    • D (видалити)
    • 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) : дозвіл, успадкований від батьківського контейнера

Для файлів маски дозволів є більш-менш зрозумілими: Rозначає, що ви можете прочитати файл, Xдозволяє його виконувати (як програму) тощо.

Для інших видів об’єктів вам доведеться переглядати MSDN:

Права на спадщину англійською мовою:

  • (I) "Успадковується": цей ACE був успадкований від батьківського контейнера.
  • (OI) "Об'єкт успадковується": Цей ACE буде успадкований об'єктами, розміщеними в цьому контейнері.
  • (CI) "Контейнер успадковується": цей ACE буде успадкований підконтейнерами, розміщеними в цьому контейнері.
  • (IO)"Тільки спадкове": Цей ACE буде успадкований (див. OIТа CI), але не застосовується до цього об'єкта.
  • (NP)"Не поширювати": Цей АСЕ буде успадкований об'єктами та підконтейнерами на один рівень глибоко - він не застосовуватиметься до речей всередині підконтейнерів.

Для файлової системи "контейнер" означає папку, а "об'єкт" означає файл, але пам'ятайте, що ACL можна встановлювати на багатьох інших видах об'єктів, не всі з яких мають поняття "контейнери".


1
Дякую. Я грамотний в Google і вмію читати. Але я хотів би англійського пояснення того, що означає мати (I) RX. "спадкує контейнер" - поясніть, що це означає, і будьте конкретні на прикладі, який я надавав.
Cheeso

У такому випадку вам знадобиться курс збоїв у дозволах NTFS.
surfasb

1
Якщо ви грамотні в Google, ви можете переглядати "ntfs дозволи", "ACL" та "дозвіл на файли та реєстр". Відверто кажучи, пояснювати кожен рядок лайманськими термінами - це, по суті, переписувати всю статтю Technet для вас.
surfasb

3
Через рік ... Так. Набагато краще дякую. Щодо інших, які кажуть: "Іди читай", саме для цього призначений Суперусер, чи не так? Щоб відповісти на запитання, які в інших місцях чітко не відповідають.
Cheeso

1
Я фактично знайшов (I)згадування в icacls /?Windows 7. Він також мав два окремі права "Видалити" - (D)раніше містився в першому списку, а (DE)натомість у другому списку. Дивіться ss64.com/nt/icacls.html . Схоже, що з того часу все змінилися.
mwfearnley
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.