Візьміть право власності на файл або папку за допомогою командного рядка в Windows

click fraud protection

Кожен файл або папка в томі NTFS має власника. Деякі системні файли належать TrustedInstaller, деякі — обліковому запису SYSTEM, а інші — групі «Адміністратори». Якщо користувач створює файл або папку, цей користувач зазвичай є власником файлу або папки. Власник — це той, хто може призначати дозволи (Дозволити або Заборонити) іншим користувачам для цього об’єкта.

Якщо користувач не є власником файлу чи папки або не має прав на доступ до файлу, він отримує помилку «доступ заборонено» під час доступу до об’єкта. Якщо цей користувач є адміністратором, він може отримати право власності на об’єкт за допомогою вкладки Властивості файлу або папки – Безпека. Тоді він може призначити собі необхідні дозволи.

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

Зміст

  • Передача права власності на файл за допомогою takeown.exe
  • Призначте права доступу до файлу за допомогою icacls.exe
  • Передача права власності на папку за допомогою takeown.exe
  • Призначте права папки за допомогою icacls.exe
  • Отримати право власності та призначити дозволи за допомогою меню правою кнопкою миші [Сценарій/Налаштування]

Додаткова інформація

  • ІНФОРМАЦІЯ: icacls.exe також може змінити власника
  • Поверніть право власності до TrustedInstaller
  • ПОМИЛКА: icacls.exe /setowner «Доступ заборонено»
  • Використання SetACL.exe для отримання права власності та призначення дозволів [безкоштовне програмне забезпечення третьої сторони]

Windows містить інструмент командного рядка з ім Takeown.exe, який можна використовувати з an Командний рядок адміністратора щоб швидко змінити право власності на файл або папку. Ось як це зробити отримати право власності на файл або папку а потім призначте дозволи для облікового запису за допомогою командного рядка.

Візьміть право власності за допомогою командного рядка takeown.exe

Прийняття права власності на файл

Відкрийте ан підвищений командний рядок вікно. Використовуйте такий синтаксис, щоб отримати право власності на файл:

TAKEOWN /Ф 

Замінити з фактичною назвою файлу з повним шляхом.

Користувач, який увійшов у систему, тепер є власником файлу.

Встановлювати Адміністратори згрупуйте власника файлу, скористайтеся перемикач додатково:

TAKEOWN /Ф 
  • Надає право власності групі адміністраторів замість поточного користувача. Якщо не вказано, право власності на файл буде надано користувачеві, який увійшов у систему. Цей параметр є ні чутливий до регістру.

Якщо операція пройшла успішно, ви повинні побачити таке повідомлення:

«УСПІХ: Файл (або папка): «ім’я файлу» тепер належить користувачу «Ім’я комп’ютера\Ім’я користувача».»

або

УСПІХ: Файл (або папка): «ім'я файлу» тепер належить групі адміністраторів.

Призначити права доступу до файлу

Потім надати Адміністратори Повний доступ до файлу, використовуйте ICACLS. Ось синтаксис:

ICACLS /розпорядники грантів: Ф

Приклад 2. Щоб призначити дозволи на повний контроль для користувача, який увійшов у систему, скористайтеся цією командою:

ICACLS /grant %username%:F

%ім'я користувача% представляє ім’я облікового запису користувача, який увійшов у систему. ICacls безпосередньо приймає цю змінну.

Приклад 3. Призначення дозволів на повний контроль для зазначеного користувача Джон, використовуйте цю команду:

ICACLS /грант Джон: Ф

Прийняття права власності на папку

Використовуйте наступний синтаксис:

зняти /ф 

(або)

зняти /ф  /a
  • /a Надає право власності групі адміністраторів замість поточного користувача. Якщо /a не вказано, право власності буде надано користувачеві, який увійшов у систему. Цей параметр є ні чутливий до регістру.

Ви побачите такий результат:

УСПІХ: Файл (або папка): «ім'я_папки» тепер належить користувачу «ім'я комп'ютера\ім'я користувача»

(або)

УСПІХ: Файл (або папка): “folder_name” тепер належить групі адміністраторів.

Змінити право власності рекурсивно:

Щоб змінити право власності на папку, її підпапки та файли в кожній підпапці, використовуйте такий синтаксис:

зняти /ф /r /d y

Користувач, який увійшов у систему, тепер є власником папки.

Встановлювати Адміністратори Згрупуйте власника папки, її підпапки та файли рекурсивно, використовуйте перемикач додатково:

TAKEOWN /Ф  /a /r /d y
  • Рекурс: інструктує інструменту працювати з файлами у вказаному каталозі та всіх підкаталогах.
  • підказка Відповідь за замовчуванням, яка використовується, коли поточний користувач не має дозволу «список папки» у каталозі. Це відбувається під час рекурсивної роботи (/R) з підкаталогами. Допустимі значення «Y», щоб отримати право власності, або «N», щоб пропустити.

Призначити дозволи на папку

Потім призначити Адміністратори групуйте Дозволи повного контролю для папки, використовуйте такий синтаксис:

icacls /розпорядники гранту: F /T

The Параметр додається, щоб операція виконувалася через усі підкаталоги та файли в цій папці.

Довідка командного рядка:

Щоб дізнатися повну інформацію про використання Takeown.exe та ICacls.exe, запустіть ці команди у вікні командного рядка.

забрати /?
icacls /?

Простіші методи для отримання права власності

Командний скрипт

Щоб ще більше спростити процес отримання права власності, Тім Сніт Microsoft надає файл .CMD (командний сценарій Windows), який стає власником і призначає права повного контролю адміністраторам для каталогу. Для отримання додаткової інформації прочитайте пост Тіма під назвою Секрет № 11: Видалення невидалюваного.

Додайте команду «Взяти право власності» до меню правою кнопкою миші

Тут знову використовується спец руни дієслово в Windows Vista і новіших версіях, про яке я розповідав раніше (РЕФRunAs).

через WinMatrix.com

Завантажити takeown_context.reg і збережіть на робочому столі. Клацніть правою кнопкою миші на файлі та виберіть Злиття. Натисніть Так коли запитують підтвердження. Це додає розширену команду з назвою Візьміть право власності у контекстному меню для файлів і каталогів. Щоб отримати доступ до команди, потрібно натиснути та утримувати кнопку ЗМІНИТИ клавішу, а потім клацніть правою кнопкою миші файл або папку.

(Докладніше про налаштування можна прочитати в статті Візьміть право власності на файл або папку за допомогою контекстного меню Windows.)


Додаткова інформація

Розділ вище охоплює більшість необхідних речей. Читайте нижче, якщо вам потрібні додаткові поради на цю тему.

icacls.exe також може змінити право власності на файл або папку!

Takeown.exe та Icacls.exe — це два вбудовані інструменти консолі в Windows, які дозволяють змінювати право власності на файл або папку та призначати дозволи контролю доступу відповідно. Takeown.exe встановлює поточний обліковий запис користувача як власника об’єкта (файлу або папки).

Однак за допомогою Takeown.exe ви не можете створити інший обліковий запис як власник об’єкта.

Чи знаєте ви, що інструмент icacls.exe також можна використовувати для зміни власника?

Щоб змінити право власності на обліковий запис третьої сторони (тобто обліковий запис, який наразі не ввійшов) або групу, ви можете використовувати icacls.exe з /setowner аргумент командного рядка замість takeown.exe.

Змініть право власності на файл або папку за допомогою icacls.exe

Як змінити право власності за допомогою icacls.exe ми бачили в останній частині статті Візьміть право власності на файл або папку за допомогою командного рядка в Windows. Ось ще кілька прикладів:

Нижче наведено синтаксис командного рядка для зміни права власності на файл або папку за допомогою icacls.exe:

icacls "file_or_folder_name" /setowner "NT Service\TrustedInstaller"

Приклади: Набір №1: Зміна права власності на один файл або папку

icacls "D:\Річні звіти\2020\Листопад" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "Адміністратори"

Якщо операція пройшла успішно, ви побачите таке повідомлення:

оброблений файл: file_or_folder_name
Успішно оброблено 1 файл; Не вдалося обробити 0 файлів

Приклад №2: рекурсивно змінювати право власності на папку (підпапку та файли).

Щоб рекурсивно змінити право власності на папку, її підпапки та всі файли в усіх підпапках, використовуйте перемикач (перехід) додатково:

icacls "ім'я_папки" /setowner "Адміністратори" /T
  • вказує, що ця операція виконується для всіх відповідних файлів/каталогів нижче каталогів, зазначених у назві.

Наведена вище команда встановлює TrustedInstaller як власника папки, її вкладених папок і всіх файлів у всіх підпапках.


Поверніть право власності до TrustedInstaller

Іноді, щоб вирішити проблему, може знадобитися змінити a файл даних наприклад XML або a ключ реєстру належить TrustedInstaller. Для цього вам спершу потрібно отримати право власності на файл, папку або ключ реєстру.

Після зміни файлів або налаштувань вам потрібно повернути право власності TrustedInstaller, якщо TrustedInstaller був попереднім або початковим власником. Щоб повернути право власності на TrustedInstaller, виконайте такі дії:

Служба Windows Modules Installer або TrustedInstaller дозволяє встановлювати, змінювати та видаляти оновлення Windows і додаткові компоненти. За замовчуванням TrustedInstaller також є власником багатьох критичних ключів реєстру та системних файлів.

  1. Клацніть правою кнопкою миші файл або розділ реєстру та виберіть «Дозволи».
  2. Натисніть «Додатково», щоб відкрити діалогове вікно «Додаткові параметри безпеки».
  3. Біля «Власник:» натисніть Змінити.
  4. У діалоговому вікні Вибір користувача або групи введіть «NT SERVICE\TrustedInstaller” і натисніть ENTER.
    отримати право власності на файл
  5. Натисніть Застосувати, ОК.
    отримати право власності на файл

Це змінює право власності на об’єкт (файл, папка або ключ реєстру) до TrustedInstaller або Windows Modules Installer.

ПОВ'ЯЗАНІ:Візьміть право власності на ключ реєстру та призначте дозволи за допомогою командного рядка

Використання команди icacls.exe, щоб встановити TrustedInstaller як власника файлу

У вікні командного рядка адміністратора використовуйте такий синтаксис командного рядка:

icacls "шлях\ім'я файлу" /setowner "NT Service\TrustedInstaller"

приклад:

icacls "C:\Windows\PolicyDefinitions\WindowsStore.admx" /setowner "NT Service\TrustedInstaller"

TrustedInstaller тепер володіє файлом WindowsStore.admx.


Відмовлено у доступі icacls /setowner?

Іноді, icacls.exe /setowner командний рядок може зіткнутися з такою помилкою:

ім'я файлу: доступ заборонено. Успішно оброблено 0 файлів; Не вдалося обробити 1 файл

Це може статися, коли він зустріне жорстке посилання NTFS. Помилка зазвичай з’являється, коли ви намагаєтеся змінити право власності на захищені файли в каталозі Windows — наприклад, C:\Windows\Notepad.exe. А жорстке посилання є поданням файлової системи файлу, за допомогою якого кілька шляхів посилаються на один файл у тому самому томі.

Наприклад, файли Notepad.exe мають два файли з жорсткими зв’язками, які можна побачити за допомогою такої команди:

Список жорстких посилань fsutil.exe C:\Windows\notepad.exe
fsutil список жорстких посилань notepad.exe

Ви можете побачити, що Notepad.exe жорстко пов’язаний з такими файлами:

C:\Windows\System32\Notepad.exe. C:\\Windows\WinSxS\amd64_microsoft-windows-notepad_31bf3856ad364e35_10.0.19041.488_none_4cea9379ceedab35\notepad.exe

The icacls.exe /setowner команда зустрічає ДОСТУП ЗАБОРОНЕНО помилка під час обробки цих жорстких посилань.

Зауважте, що в документації icacls.exe сказано: «Цей параметр не змушує змінювати власника; використовуйте для цієї мети утиліту takeown.exe».

Якщо ви зіткнулися з помилками «Доступ заборонено» під час налаштування права власності за допомогою Icacls, можливо, вам доведеться покладатися на Takeown.exe, SubInACL або сторонню утиліту командного рядка SetACL.exe (див. наступний параграф).


Використання SetACL.exe для отримання права власності та призначення дозволів

SetACL.exe – це сторонній інструмент командного рядка (з HelgeKlein.com), який ми розглянули раніше.

SetACL: аргументи командного рядка

Перш ніж продовжити, давайте подивимося синтаксис командного рядка для зміни права власності на файл/реєстр і дозволів за допомогою SetACL.

SetACL -on objectname -ot objecttype -actn дія
  • -на: Вкажіть шлях до об'єкта, з яким SetACL має працювати (наприклад, файл, ключ реєстру, спільна мережа, служба або принтер).
  • -от: вкажіть тип об'єкта. Щоб змінити право власності або дозволи на файл або папку, використовуйте тип об’єкта файл. Для ключів реєстру використовуйте тип об’єкта обл
  • -actn: Вкажіть дію щодо того, що SetACL має робити проти вказаного об'єкта. Щоб отримати право власності, установіть дію як сетаун. Щоб змінити дозволи, встановіть дію як туз.
  • -власник: вкажіть ім'я або ідентифікатор довіреної особи (користувача або групи) у цьому форматі — наприклад, "n: адміністратори"

(Подивитися Документація SetACL для повного списку об’єктів, типів і підтримуваних дій.)

Ось кілька прикладів, щоб змінити власника та надати повний дозвіл на контроль.

Приклади: змінити право власності на один файл або папку:

setacl.exe -on c:\windows\notepad.exe -ot файл -actn setowner -ownr "n: NT Service\TrustedInstaller" setacl.exe -на c:\windows\notepad.exe -ot файл -actn setowner -ownr "n: Адміністратори" setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n: John" setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n: NT Service \Надійний інсталятор" setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n: Адміністратори" setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n: John"

Приклади: рекурсивно змінити право власності:

Варіант 1: Щоб встановити право власності на папку та її підпапки (не для файлів) рекурсивно скористайтеся одним із цих прикладів:

setacl.exe -on d:\test -ot file -actn setowner -ownr "n: NT Service\TrustedInstaller" -rec cont. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Адміністратори" -rec cont. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Ramesh" -rec cont
  • -рец – рекурсія включена.
  • продовж – Лише рекурсивні та обробні каталоги.

Варіант 2: Щоб встановити право власності на файли в папці та її підтеках (не папки) рекурсивно скористайтеся одним із цих прикладів:

setacl.exe -on d:\test -ot file -actn setowner -ownr "n: NT Service\TrustedInstaller" -rec obj. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Адміністратори" -rec obj. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Ramesh" -rec obj
  • -рец – рекурсія включена.
  • obj – Тільки рекурсивні та обробні файли.

Варіант 3: Щоб встановити право власності на a папку, її підпапки та файли рекурсивно скористайтеся одним із цих прикладів:

setacl.exe -on d:\test -ot file -actn setowner -ownr "n: NT Service\TrustedInstaller" -rec cont_obj. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Адміністратори" -rec cont_obj. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Ramesh" -rec cont_obj
  • -рец – рекурсія включена.
  • cont_obj – Рекурсивні та обробні каталоги та файли.

Приклади: Призначте необхідні дозволи для файлу або папки:

Отримавши право власності, ви можете призначити необхідні дозволи для об’єкта. Ось кілька прикладів:

Щоб призначити дозволи для a одиночний файл або папку, скористайтеся одним із цих прикладів:

setacl.exe -on "d:\test\sample.xlsx" -ot файл -actn ace -ace "n: Адміністратори; p: повний" setacl.exe -on "d:\test\sample.xlsx" -ot файл -actn ace -ace "n: Джон; p: full" setacl.exe -on "d:\test" -ot file -actn ace -ace "n: Адміністратори; p: повний" setacl.exe -on "d:\test" -ot file -actn ace -ace "n: John; p: повний"

Приклади: рекурсивно призначте необхідні дозволи:

Варіант 1: Для папку та підпапки (не файли) рекурсивно, скористайтеся одним із цих прикладів:

setacl.exe -on "d:\test" -ot файл -actn ace -ace "n: Адміністратори; p: повний" -rec продовж. setacl.exe -on "d:\test" -ot file -actn ace -ace "n: John; p: повний" -rec продовж
  • -рец – рекурсія включена.
  • продовж – Лише рекурсивні та обробні каталоги.

Варіант 2: Для файлів у папці та підпапках (не папки) рекурсивно скористайтеся одним із цих прикладів:

setacl.exe -on "d:\test" -ot файл -actn ace -ace "n: Адміністратори; p: повний" -rec obj. setacl.exe -on "d:\test" -ot file -actn ace -ace "n: John; p: повний" -rec obj
  • -рец – рекурсія включена.
  • obj – Тільки рекурсивні та обробні файли.

Варіант 3: Для папку, її підпапки та файли рекурсивно скористайтеся одним із цих прикладів:

setacl.exe -on "d:\test" -ot файл -actn ace -ace "n: Адміністратори; p: повний" -rec cont_obj. setacl.exe -on "d:\test" -ot file -actn ace -ace "n: John; p: повний" -rec cont_obj
  • -рец – рекурсія включена.
  • cont_obj – Рекурсивні та обробні каталоги та файли.

Ви можете ознайомитися з офіційною документацією SetACL, щоб дізнатися про його повні можливості. Однак для встановлення права власності та дозволів на файли та папки takeown.exe та icacls.exe буде більш ніж достатньо для більшості користувачів.


Одне невелике прохання: якщо вам сподобався цей пост, поділіться ним?

Одна ваша "крихітна" публікація серйозно допомогла б у розвитку цього блогу. Кілька чудових пропозицій:
  • Закріпіть!
  • Поділіться ним у своєму улюбленому блозі + Facebook, Reddit
  • Твіттер!
Тож дуже дякую за підтримку, мій читачу. Це займе не більше 10 секунд вашого часу. Кнопки спільного доступу знаходяться прямо нижче. :)