Есть ли способ изменить «Расширенные права доступа» файла в Windows с помощью командной строки?

316
Mike Z

Так что просто для пояснения: я хотел бы удалить расширенное разрешение, называемое «Изменить разрешения», потому что даже если вы удаляете разрешения из группы (в данном случае администраторов), используя icacls, в то время как никто в группе не может редактировать или удалять целевой файл, они все еще может зайти в свойства файла и отредактировать права доступа, чтобы вернуть себя Full или Modify или еще много чего.

Я не хочу сходить с ума от вопросов типа «Почему вы хотите удалить эти разрешения у администраторов компьютера?» поэтому достаточно сказать, что я оставил SYSTEM с Полным контролем и управляю всем, что мне нужно, через службу, работающую как ЛОКАЛЬНАЯ СИСТЕМА, так что в основном все еще есть доступ к файлу, но мне нужен доступ к нему.

Я просто не могу найти в iCaclsсинтаксисе ничего, что позволяет мне изменять «расширенные» разрешения, в которых находится пункт «Изменить разрешения» .

0
«Если вы удалите разрешения из группы (в данном случае администраторы)», администраторы всегда могут отменить что-то, установленное администратором. Вот почему их называют администраторами! ;) DavidPostill 5 лет назад 1

1 ответ на вопрос

2
grawity

Да, это прямо на icacls /?экране справки:

 Пермь является маской разрешения и может быть указана в одной из двух форм: последовательность простых прав: [...] список через запятую в скобках конкретных прав: DE - удалить RC - контроль чтения WDAC - напиши ЦАП WO - написать владельцу S - синхронизировать AS - система безопасности доступа MA - максимально допустимый GR - общее чтение GW - общая запись GE - универсальное исполнение GA - универсальный все RD - читать каталог данных / списка WD - записать данные / добавить файл AD - добавить данные / добавить подкаталог REA - читать расширенные атрибуты WEA - написать расширенные атрибуты X - выполнить / пройти DC - удалить ребенка RA - читать атрибуты WA - написать атрибуты наследственные права могут предшествовать любой форме и применяются только для каталогов: (OI) - наследование объекта (CI) - контейнер наследуется (IO) - наследовать только (NP) - не размножать наследство (I) - разрешение, унаследованное от родительского контейнера 

Это общие имена для всех «расширенных» разрешений, которые вы видите. «Изменение разрешений» называется «Запись ЦАП», потому что оно позволяет писать / изменять Список контроля доступа по усмотрению.

Включенные примеры специально упоминают это разрешение:

 Файл ICACLS / администратор гранта: (D, WDAC) - предоставит пользователю Администратор Удалить и записать ЦАП разрешения на файл.  файл / грант icacls * S-1-1-0: (D, WDAC) - предоставит пользователю, определенному sid S-1-1-0, Delete и Запишите разрешения ЦАП в файл. 

Вы можете сделать противоположность вышеприведенному примеру и явно /denyпередать им разрешение WDAC.

Однако помните, что схема разрешений имеет две сети безопасности:

  • Владелец файла всегда может изменить свои разрешения, минуя любые записи разрешений «запретить запись-DAC». Если вы не хотите, чтобы администраторы могли предоставлять себе дополнительные разрешения, убедитесь, что файл не принадлежит администраторам (например, установите для его владельца значение SYSTEM).

  • Администраторам предоставляется SeTakeOwnershipPrivilege, и он всегда может изменить владельца файла, минуя любые записи о правах доступа «запретить запись». Если вы не хотите, чтобы администраторы могли это делать ... ну, они администраторы, они уже владеют всей системой.