Статья Изменяем доступ к файлам, папкам, разделам реестра в Windows

Статус
В этой теме нельзя размещать новые ответы.

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,069
Реакции
5,784
на форумах довольно часто встает вопрос о том как получить доступ к какому либо объекту Windows.
рассмотрим возможные варианты.

внимание!
обязательно создайте точку восстановления перед манипуляциями на доступом к ресурсам/файлам
инструкция
Для того чтобы создать точку восстановления необходимо открыть панель свойств системы - Панель управления->Система->Защита системы->Создать..., в появившемся окне ввести название точки (дата и время будут проставлены автоматически), после окончания работы утилиты достаточно нажать кнопку Закрыть.
Для того чтобы восстановить и откатить систему до нужной точки, необходимо воспользоваться другим инструментом - Панель управления->Восстановление->Запуск восстановления системы, в окне мастера нажать Далее и выбрать в списке нужную точку, снова Далее и убедившись в правильности своего выбора нажать Готово.
самый простой способ
Способ 1.
Использование графического интерфейса (GUI)

1)
Откройте проводник (или редактор реестра) и перейдите к папке/файлу/разделу реестра, к которому необходимо получить доступ.

для файла или папки


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

Установите курсор на группу Администраторы или на имя своей учетной записи и нажмите ОК. В случае с папкой также, вероятно, вам понадобится отметка параметра "Заменить владельца подконтейнеров и объектов".

Для раздела реестра.

Нажмите правую клавишу мыши на подразделе реестра (в левой части редактора реестра) и выберите пункт Разрешения
Нажмите кнопку Дополнительно
Перейдите на вкладку Владелец
Нажмите кнопку Изменить
Теперь, вы можете выставить разрешения своей учетной записи.
На вкладке Безопасность нажмите кнопку Изменить под списком пользователей и групп
Нажмите кнопку Добавить
Выставьте разрешения на объект добавленной учетной записи


Способ 2.
Использование утилит командной строки takeown и icacls (применим только к файлам, папкам и дискам)
для windows xp -команда cacls

Нажмите Пуск - в строке поиска введите cmd – на найденном файле нажмите правую клавишу мыши и выберите пункт
Запуск от имени администратора

Примечание.
Запуск от имени администратора в данном случае обязателен независимо от того, какими правами обладает учетная запись, в которой вы работаете в данный момент. Исключение может составлять только случай, когда вы работаете во встроенной учетной записи Администратор, которая по умолчанию отключена.


вариант А
используем команду takeown

Команда takeown использует следующий синтаксис:
takeown /f <файл> [/s <система>] [/u <домен\пользователь>] [/p <пароль>]

рассмотрим возможные параметры команды.

параметр /f <файл>
Используется для указания файла, который принимается во владение. Можно использовать символ

параметр /s <система>
Используется для предоставления имени или адреса IP удаленного компьютера, на котором будет запущена команда. По умолчанию команда будет запущена на локальной системе.

парметр /u <домен\пользователь>
Используется для запуска команды от имени другого пользователя. Это может потребоваться, когда команда запускается на изолированной системе от имени локального администратора.

параметр /p <пароль>
Используется для указания пароля учетной записи пользователя, если предоставлен параметр /u.

пример:
Чтобы принять на себя владения всеми файлами в каталоге D:\Game введите такую команду:

takeown /f "D:\Game "

Чтобы принять на себя владения файлом pesenka.mp3 на удаленном компьютере nya.xxxxx.com:

takeown /f "D:\pesenka.mp3" /s nya.xxxxx.com

внимание!
Сразу после принятия на себя владения файлом или папкой администратор может получать доступ к файлу. Если к папке должны получать доступ множество пользователей, не забудьте обновить права доступа для папки с помощью команды cacls или с помощью Проводника Windows (Windows Explorer).

Полный синтаксис утилиты вы можете получить по команде takeown /?

вариант Б

утилита icacls (для windows xp cacls)

синтаксис команды icacls выглядит следующим образом:

icacls папка\файл /setowner Пользователь параметры

Посмотрим несколько конкретных примеров, как можно изменить владельца файла или папки.

icacls "C:\Program Files (x86)\UltraISO\UltraISO.exe" /setowner Administrator /C /L /Q

icacls "C:\Program Files (x86)\UltraISO\UltraISO.exe" /setowner "NT SERVICE\TrustedInstaller" /C /L /Q

icacls "C:\Program Files (x86)\UltraISO\" /setowner Medvedev /T /C /L /Q

icacls "C:\Program Files (x86)\UltraISO\" /setowner Putin /T /C /L /Q
Теперь разберемся, что это за параметры используются в каждой команде.

/Q – сообщение об успешном выполнении команды не выводится;
/L – команда выполняется непосредственно над символической ссылкой, а не конкретным объектом;
/C – выполнение команды будет продолжаться несмотря на файловые ошибки; при этом сообщения об ошибках все равно будут отображаться;
/T – команда используется для всех файлов и каталогов, которые которые расположены в указанном каталоге;

А вот как можно изменять разрешения для файла или папки:

icacls папка_или_файл /grant:r пользователь:разрешение

Список разрешений выглядит следующим образом:

D – удаление;
F – полный доступ;
M – изменение;
RX – чтение и выполнение;
R – чтение;
W – запись.
В качестве примера можно привести следующие команды:

icacls "C:\Program Files (x86)\UltraISO\UltraISO.exe" /grant:r Putin:F

icacls "C:\Program Files (x86)\UltraISO\UltraISO.exe" /grant:r Putin:M

icacls "C:\Program Files (x86)\UltraISO\" /grant:r Putin:F

icacls "C:\Program Files (x86)\UltraISO\" /grant:r Putin:RX /T



Чтобы узнать больше, введите в командной строке команду 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"


Для удаления этого пункта меню можете использовать следующий твик реестра:

Код:
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\*\shell\runas]

[-HKEY_CLASSES_ROOT\Directory\shell\runas]


способ 4

воспользоваться утилитой TakeOwnershipEx

внимание!
Программа не позволяет устанавливать права на папки рекурсивно (вложенные подпапки и содержащиеся файлы не обрабатываются).
Программа не работает в среде ограниченной учётной записи по понятным причинам.

скачать программу и прочитать описание можно тут
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу