Отримання повного доступу до файлу або папці

Здавалося б, заїжджена тема, але не рідше ніж раз на тиждень на форумі починаються розлогі пояснення про те, як же все-таки отримати доступ до будь-якого об'єкта. Найчастіше - це, звичайно, папки або файли, іноді розділи реєстру. Спробую зібрати воєдино способи отримання доступу до локальних об'єктів.

Отримання повного доступу до файлу або папці

При відсутності доступу до локального об'єкту ви не можете управляти його дозволами, відсутність такої можливості може бути компенсовано зміною власника об'єкта, після чого ви зможете управляти його дозволами. Зробити це можна кількома способами, розглянемо їх по порядку.

Використання графічного інтерфейсу (GUI)

Натисніть праву кнопку миші і виберіть в контекстному меню Властивості Перейдіть на вкладку Безпека натисніть кнопку Додатково

Отримання повного доступу до файлу або папці

Перейдіть на вкладку Власник Натисніть кнопку Змінити

Отримання повного доступу до файлу або папці

Встановіть курсор на групу Адміністратори або на ім'я свого облікового запису і натисніть ОК. У випадку з папкою також, ймовірно, вам знадобиться відмітка параметра "Замінити власника подконтейнеров і об'єктів".

Отримання повного доступу до файлу або папці

Для розділу реєстру.

Отримання повного доступу до файлу або папці

Натисніть кнопку Додати

Отримання повного доступу до файлу або папці

Введіть ім'я свого облікового запису і натисніть ОК

Отримання повного доступу до файлу або папці

Виставте дозволу на об'єкт доданої облікового запису

Отримання повного доступу до файлу або папці

Використання утиліт командного рядка takeown і icacls (застосовується лише до файлів, папок і дисків) Натисніть Пуск - в рядку пошуку введіть cmd - на знайденому файлі натисніть праву кнопку миші і виберіть пункт Запуск від імені адміністратора

Отримання повного доступу до файлу або папці

У вікні 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 /?

Пункт зміни власника об'єкта в контекстному меню провідника.

Для спрощення процедури зміни власника ви можете додати відповідний пункт в контекстне меню провідника.
У пропонованому варіанті також використовуються утиліти командного рядка takeown і icacls з певними параметрами, а отримана команда встановить власником об'єкта, на якому буде застосовуватися пункт меню, групу Адміністратори (або Administrators в англійській версії ОС).

Для додавання пункту меню "Зміна власника" в російській версії Windows Vista застосуєте цей Твік реєстру:

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 / dy 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 [-HKEY_CLASSES_ROOT \ * \ shell \ runas] [- HKEY_CLASSES_ROOT \ Directory \ shell \ runas]

Якщо у Вас встановлена ​​спочатку російська версія Windows скопіюйте даний текст:

Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT \ * \ shell \ runas]
[HKEY_CLASSES_ROOT \ * \ shell \ runas] @ = "Стати власником і задати повний доступ до об'єкта" "Icon" = "C: \\ Windows \\ System32 \\ imageres.dll, -78" "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] [HKEY_CLASSES_ROOT \ Directory \ shell \ runas] @ = "Стати власником і задати повний доступ до об'єкта" "Icon" = "C: \\ Windows \\ System32 \\ imageres.dll, -78 "" 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 "
[-HKEY_CLASSES_ROOT \ dllfile \ shell] [HKEY_CLASSES_ROOT \ dllfile \ shell \ runas] @ = "Стати власником і задати повний доступ до об'єкта" "HasLUAShield" = "" "NoWorkingDirectory" = ""
[HKEY_CLASSES_ROOT \ dllfile \ 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 \ Drive \ shell \ runas] [HKEY_CLASSES_ROOT \ Drive \ shell \ runas] @ = "Стати власником і задати повний доступ до об'єкта" "Icon" = "C: \\ Windows \\ System32 \\ imageres.dll, -78 "" NoWorkingDirectory "=" "
[HKEY_CLASSES_ROOT \ Drive \ 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 "
[-HKEY_CLASSES_ROOT \ exefile \ shell \ runas2] [HKEY_CLASSES_ROOT \ exefile \ shell \ runas2] @ = "Стати власником і задати повний доступ до об'єкта" "HasLUAShield" = "" "NoWorkingDirectory" = ""
[HKEY_CLASSES_ROOT \ exefile \ shell \ runas2 \ command] @ = "cmd.exe / c takeown / f"% 1 " icacls "% 1" / grant адміністратори: F "" IsolatedCommand "=" cmd.exe / c takeown / f "% 1" icacls "% 1" / grant адміністратори: F "

Якщо у Вас встановлена ​​спочатку англійська версія Windows + український мовний пакет скопіюйте даний текст:

Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT \ * \ shell \ runas]
[HKEY_CLASSES_ROOT \ * \ shell \ runas] @ = "Стати власником і задати повний доступ до об'єкта" "Icon" = "C: \\ Windows \\ System32 \\ imageres.dll, -78" "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] [HKEY_CLASSES_ROOT \ Directory \ shell \ runas] @ =" Стати власником і задати повний доступ до об'єкта "" Icon "=" C: \ \ Windows \\ System32 \\ imageres.dll, -78 "" 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 "
[-HKEY_CLASSES_ROOT \ dllfile \ shell]
[HKEY_CLASSES_ROOT \ dllfile \ shell \ runas] @ = "Стати власником і задати повний доступ до об'єкта" "HasLUAShield" = "" "NoWorkingDirectory" = "" [HKEY_CLASSES_ROOT \ dllfile \ 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 \ Drive \ shell \ runas]
[HKEY_CLASSES_ROOT \ Drive \ shell \ runas] @ = "Стати власником і задати повний доступ до об'єкта" "Icon" = "C: \\ Windows \\ System32 \\ imageres.dll, -78" "NoWorkingDirectory" = ""
[HKEY_CLASSES_ROOT \ Drive \ 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 "[-HKEY_CLASSES_ROOT \ exefile \ shell \ runas2]
[HKEY_CLASSES_ROOT \ exefile \ shell \ runas2] @ = "Стати власником і задати повний доступ до об'єкта" "HasLUAShield" = "" "NoWorkingDirectory" = "" [HKEY_CLASSES_ROOT \ exefile \ shell \ runas2 \ command] @ = "cmd.exe / c takeown / f "% 1" icacls "% 1" / grant administrators: F "" IsolatedCommand "=" cmd.exe / c takeown / f "% 1" icacls "% 1" / grant administrators: F "

  • Запустіть створений Вами reg-файл.
  • Клацніть на reg-файл правою кнопкою миші і виберіть пункт Злиття (Merge).
  • Натисніть в першому вікні кнопку Так (Yes), а в наступному кнопку ОК.

Щоб скористатися доданим пунктом меню:

  1. Клацніть на файлі або папці правою кнопкою мишки і виберіть пункт "Стати власником і задати повний доступ до об'єкта".
  2. У будь-яких вікнах, якщо вони з'являться натискаючи кнопку Так (Yes).

Завантажити готовий reg-файл:

Full_access_eng.reg - застосуєте, якщо Ви використовуєте англійську версію Windows.
Назва пункту меню вказано на англійській мові, назва групи адміністраторів зазначено англійською мовою.
Full_access_eng + rus_mui.reg - застосуєте, якщо Ви використовуєте англійську версію Windows і український мовний пакет.
Назва пункту меню вказано на російській мові, назва групи адміністраторів зазначено англійською мовою.
Full_access_rus.reg - застосуєте, якщо Ви використовуєте російську версію Windows.
Назва пункту меню вказано на російській мові, назва групи російській вказано на англійській мові.

Якщо Ви не знаєте якою мовою у Вас названа група адміністраторів, то щоб це дізнатися виконайте наступні дії.

  1. Запустіть командний рядок від імені адміністратора. У рядку пошуку меню Пуск введіть команду: cmd і натисніть одночасно Ctrl + ⇑ Shift + Enter ↵.
  2. Введіть таку команду та натисніть Enter:

Якщо Вам необхідно змінити права доступу, а після використання файлу повернути всі права назад, то Ви можете скористатися програмою

яка володіє наступними можливостями:

  • Отримання прав на один або відразу декілька файлів. У діалозі відкриття Ви можете вибрати відразу декілька файлів, виділяючи їх мишкою і утримуючи клавішу Ctrl або ⇑ Shift.
    Вибраних файлів в якості власника виставляється група локальних "Адміністраторів", і надається повний доступ для цієї групи.
  • Відновлення прав. Якщо Ви отримали права власника і повний доступ, утиліта запам'ятовує, які права у файлу були до цього, і потім Ви в будь-який момент можете їх повернути на місце.