1

Существует множество обучающих программ, посвященных потере разрешений или принятию разрешений и даже удалению разрешений для "доверенного установщика". Большинство учебных пособий могут иметь серьезные последствия.

Если человек хочет удалить один элемент файла или папки, который в настоящее время принадлежит "доверенному установщику". В то же время человек не желает вносить изменения после удаления этого элемента.

Если человек захочет сделать это в 1 клик вместо 10. Это делается в графическом интерфейсе ОС, а не в командной строке, если человек был администратором. Загрузка в операционную систему Unix/ Linux не выполняется в 1 клик :-) В этом сценарии не существует операционной системы Linux.

Какой, по вашему мнению, самый быстрый способ удаления элемента, которому разрешен "доверенный установщик", без внесения каких-либо изменений, которые имеют последствия, выходящие за пределы удаления элемента?

Понятно, что удаление самого предмета не считается "безопасным" или что его удаление не имеет последствий. Дело не в этом.

Пример элемента для справки и тестирования: эта папка C:\Windows\System32\zh-CN

2 ответа2

3

Я нашел пользовательскую "Take Ownership", которую вы можете установить. Это для XP, но должно работать и для W7. Вы можете установить точку восстановления вручную перед применением этого изменения.

Элемент контекстного меню "Взять на себя ответственность" на самом деле представляет собой три отдельные команды. Сначала он открывает окно командной строки с помощью cmd.exe, затем запускает takeown.exe, чтобы получить право собственности на элемент, на который вы щелкнули, и, если это папка, также становится владельцем файлов и подпапок. В случае успеха (и только в случае успеха) он запускает icacls.exe для предоставления разрешения "Полный доступ" группы администраторов, что также выполняется рекурсивно, если это папка. Если takeown.exe завершается ошибкой, вы не хотите запускать icacls.exe, так как он, скорее всего, тоже завершится с ошибкой, но в некоторых редких случаях takeown.exe может возвращать ошибку, даже если это удалось, поэтому icacls.exe никогда не запускается, поэтому разрешения никогда не применять. Кроме того, способ его настройки зависит от системной переменной PATH, чтобы можно было найти cmd.exe, takeown.exe и icacls.exe. Если какой-либо из них не найден, произойдет сбой, но пользователь может нет признаков того, что это не сработало. И расширение .exe не указывается при захвате или icacls, поэтому вредоносная программа может легко заменить эти команды файлом пакетного сценария, расположенным в другой папке, найденной ранее по пути, и может заставить пользователя нажать OK в приглашении UAC, которое будет запускать вредоносную программу. вместо опции "взять владение" они думают, что работают.

Я нашел лучшую версию 2, которая указывает полный путь к файлу с помощью переменной Systemroot и использует полное имя файла, включая расширение.

Откройте пустой текстовый файл и скопируйте в него текст ниже, затем сохраните его, затем измените расширение файла на .reg, затем щелкните по нему правой кнопкой мыши и выберите «Объединить».

Редактор реестра Windows, версия 5.00

[HKEY_CLASSES_ROOT *\shell\runas\command] @ = hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d, 00,52,00,6f , 00,6f,\00,74,00,25,00,5c, 00,53,00,79,00,73,00,74,00,65,00,6d, 00,33,00,32, 00,5c, 00,\63,00,6d, 00,64,00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,63,00,25,00 , 53,00,79,\00,73,00,74,00,65,00,6d, 00,52,00,6f, 00,6f, 00,74,00,25,00,5c, 00, 53,00,79,00,\73,00,74,00,65,00,6d, 00,33,00,32,00,5c, 00,20,00,74,00,61,00,6b , 00,65,00,6f,\00,77,00,6e, 00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,66,00,20, 00,22,00,25,00,\31,00,22,00,20,00,26,00,26,00,20,00,25,00,53,00,79,00,73,00 , 74,00,65,00,6d,\00,52,00,6f, 00,6f, 00,74,00,25,00,5c, 00,53,00,79,00,73,00, 74,00,65,00,6d, 00,\33,00,32,00,5c, 00,69,00,63,00,61,00,63,00,6c, 00,73,00,2e , 00,65,00,78,00,65,\00,20,00,22,00,25,00,31,00,22,00,20,00,2f, 00,67,00,72, 00,61,00,6e, 00,74,00,\20,00,61,00,64,00,6d, 00,69,00,6e, 00,69,00,73,00,74,00 , 72,00,61,00,74,00,6f,\00,72,00,73,00,3a, 00,46,00,00,00

"IsolatedCommand" = hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d, 00,52,00,6f, 00,6f,\00, 74,00,25,00,5c, 00,53,00,79,00,73,00,74,00,65,00,6d, 00,33,00,32,00,5c, 00,\63 , 00,6d, 00,64,00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,63,00,25,00,53,00,79,\00,73,00,74,00,65,00,6d, 00,52,00,6f, 00,6f, 00,74,00,25,00,5c, 00,53,00,79,00,\73,00,74,00,65,00,6d, 00,33,00,32,00,5c, 00,20,00,74,00,61,00,6b, 00,65,00,6f ,\00,77,00,6e, 00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,66,00,20,00,22,00,25, 00,\31,00,22,00,20,00,26,00,26,00,20,00,25,00,53,00,79,00,73,00,74,00,65,00 , 6d,\00,52,00,6f, 00,6f, 00,74,00,25,00,5c, 00,53,00,79,00,73,00,74,00,65,00, 6d, 00,\33,00,32,00,5c, 00,69,00,63,00,61,00,63,00,6c, 00,73,00,2e, 00,65,00,78 , 00,65,\00,20,00,22,00,25,00,31,00,22,00,20,00,2f, 00,67,00,72,00,61,00,6e, 00,74,00,\20,00,61,00,64,00,6d, 00,69,00,6e, 00,69,00,73,00,74,00,72,00,61,00 , 74,00,6f,\00,72,00,73,00,3a, 00,46,00,00,00

[HKEY_CLASSES_ROOT\Directory\shell\runas\command] @ = hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d, 00,52,00, 6f, 00,6f,\00,74,00,25,00,5c, 00,53,00,79,00,73,00,74,00,65,00,6d, 00,33,00,32 , 00,5c, 00,\63,00,6d, 00,64,00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,63,00,20, 00,25,00,53,\00,79,00,73,00,74,00,65,00,6d, 00,52,00,6f, 00,6f, 00,74,00,25,00 , 5c, 00,53,00,\79,00,73,00,74,00,65,00,6d, 00,33,00,32,00,5c, 00,74,00,61,00, 6b, 00,65,00,6f,\00,77,00,6e, 00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,66,00,20 , 00,22,00,25,00,\31,00,22,00,20,00,2f, 00,72,00,20,00,2f, 00,64,00,20,00,79, 00,20,00,26,00,26,\00,20,00,25,00,53,00,79,00,73,00,74,00,65,00,6d, 00,52,00 , 6f, 00,6f, 00,74,00,\25,00,5c, 00,53,00,79,00,73,00,74,00,65,00,6d, 00,33,00, 32,00,5c, 00,69,00,63,\00,61,00,63,00,6c, 00,73,00,2e, 00,65,00,78,00,65,00,20 00,22,00,25,00,31,00,\22,00,20,00,2f, 00,67,00,72,00,61,00,6e, 00,74,00,20, 00,61,00,64,00,6d, 00,69,\00,6e, 00,69,00,73,00,74,00,72,00,61,00,74,00,6f, 00 72,00,73,00,3а, 00,46,00,\20,00,2f, 00,74,00,00,00

"IsolatedCommand" = hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d, 00,52,00,6f, 00,6f,\00, 74,00,25,00,5c, 00,53,00,79,00,73,00,74,00,65,00,6d, 00,33,00,32,00,5c, 00,\63 , 00,6d, 00,64,00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,63,00,20,00,25,00,53,\00,79,00,73,00,74,00,65,00,6d, 00,52,00,6f, 00,6f, 00,74,00,25,00,5c, 00,53,00,\79,00,73,00,74,00,65,00,6d, 00,33,00,32,00,5c, 00,74,00,61,00,6b, 00,65,00,6f ,\00,77,00,6e, 00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,66,00,20,00,22,00,25, 00,\31,00,22,00,20,00,2f, 00,72,00,20,00,2f, 00,64,00,20,00,79,00,20,00,26,00 , 26,\00,20,00,25,00,53,00,79,00,73,00,74,00,65,00,6d, 00,52,00,6f, 00,6f, 00, 74,00,\25,00,5c, 00,53,00,79,00,73,00,74,00,65,00,6d, 00,33,00,32,00,5c, 00,69 , 00,63,\00,61,00,63,00,6c, 00,73,00,2e, 00,65,00,78,00,65,00,20,00,22,00,25, 00,31,00,\22,00,20,00,2f, 00,67,00,72,00,61,00,6e, 00,74,00,20,00,61,00,64,00 , 6d, 00,69,\00,6e, 00,69,00,73,00,74,00,72,00,61,00,74,00,6f, 00,72,00,73,00, 3а, 00,46,00,\20,00,2f, 00,74,00,00,00

Источник информации

2

Несколько лет назад, но вот рабочий пример команды Take Ownership, включающей многоязычный безопасный общеизвестный SID (S-1-5-32-544) группы «Администраторы» для предотвращения сбоя команды icacls на не английские локали.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\runas]
@="Take Ownership"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant *S-1-5-32-544:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant *S-1-5-32-544:F"

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Take Ownership"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant *S-1-5-32-544:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant *S-1-5-32-544:F /t" 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .