Здавалося б, заїжджена тема, але не рідше ніж раз на тиждень на форумі починаються розлогі пояснення про те, як же все-таки отримати доступ до будь-якого об'єкта. Найчастіше - це, звичайно, папки або файли, іноді розділи реєстру. Спробую зібрати воєдино способи отримання доступу до локальних об'єктів.
При відсутності доступу до локального об'єкту ви не можете управляти його дозволами, відсутність такої можливості може бути компенсовано зміною власника об'єкта, після чого ви зможете управляти його дозволами. Зробити це можна кількома способами, розглянемо їх по порядку.
Спосіб 1. Використання графічного інтерфейсу (GUI)
Спосіб 2. Використання утиліт командного рядка takeown і icacls (застосовується лише до файлів, папок і дисків)
- Натисніть Пуск - в рядку пошуку введіть cmd - на знайденому файлі натисніть праву кнопку миші і виберіть пункт Запуск від імені адміністратора
takeown / f «C: \ Program Files \ ERUNT \ ERUNT.EXE»
Примітка. Тут і далі повний шлях і файл представлені як приклад і замість «C: \ Program Files \ ERUNT \ ERUNT.EXE» ви повинні написати шлях до файлу або папці, до яких необхідно отримати доступ.Зверніть увагу на те, що якщо в дорозі присутні прогалини (як в прикладі), то шлях повинен бути укладений в лапки.
У команді використовується утиліта takeown. яка дозволяє відновлювати доступ до об'єкта шляхом перепризначення його власника. Повний синтаксис утиліти ви можете отримати по команді takeown /?
icacls «C: \ Program Files \ ERUNT \ ERUNT.EXE» / grant Blast: F
Примітка. У даній команді крім шляху до файлу необхідно вказати і ім'я облікового запису, якій будуть передані дозволу на об'єкт. Відповідно ви повинні будете ввести своє ім'я користувача.
Після застосування цієї команди вам буде показано повідомлення про обробку файлів і папок. У разі, якщо таким чином не вдасться отримати повний доступ до об'єкта, виконайте процедуру повторно, завантажившись в безпечний режим.
У цій команді використовується утиліта icacls, що дозволяє управляти списками управління доступом (ACL), а значить і дозволами для користувачів і процесів використовувати файли і папки. Синтаксис утиліти ви зможете дізнатися по команді icacls /?
Спосіб 3. Пункт зміни власника об'єкта в контекстному меню провідника.
Для спрощення процедури зміни власника ви можете додати відповідний пункт в контекстне меню провідника.
У пропонованому варіанті також використовуються утиліти командного рядка takeown і icacls з певними параметрами, а отримана команда встановить власником об'єкта, на якому буде застосовуватися пункт меню, групу Адміністратори (або Administrators в англійській версії ОС).
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT \ * \ shell \ runas]
@ = "Зміна власника»
«NoWorkingDirectory» = »»
[HKEY_CLASSES_ROOT \ * \ shell \ runas \ command]
@ = "Cmd.exe / c takeown / f \"% 1 \ " icacls \ "% 1 \" / grant адміністратори: F »
«IsolatedCommand» = »cmd.exe / c takeown / f \"% 1 \ " icacls \ "% 1 \" / grant адміністратори: F »
[HKEY_CLASSES_ROOT \ Directory \ shell \ runas]
@ = "Зміна власника»
«NoWorkingDirectory» = »»
[HKEY_CLASSES_ROOT \ Directory \ shell \ runas \ command]
@ = "Cmd.exe / c takeown / f \"% 1 \ "/ r / d y icacls \ "% 1 \" / grant адміністратори: F / t »
«IsolatedCommand» = »cmd.exe / c takeown / f \"% 1 \ "/ r / d y icacls \ "% 1 \" / grant адміністратори: F / t »
Для додавання пункту меню «Take Ownership» в англійській версії Windows Vista застосуєте цей Твік реєстру:
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 administrators: F »
«IsolatedCommand» = »cmd.exe / c takeown / f \"% 1 \ " icacls \ "% 1 \" / grant administrators: 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 administrators: F / t »
«IsolatedCommand» = »cmd.exe / c takeown / f \"% 1 \ "/ r / d y icacls \ "% 1 \" / grant administrators: F / t »
Для видалення цього пункту меню (незалежно від мови системи) можна використовувати наступний Твік реєстру:
Windows Registry Editor Version 5.00
Готові файли реєстру для додавання і видалення цього пункту меню: TakeOwnership.zip