Почему я получаю ошибку привилегии при запуске "takeown" из командной строки?

Я являюсь частью группы администраторов. У меня есть файл, который я могу поменять владельцем на HOSTNAME\Administrators и обратно, используя вкладку "Безопасность" в свойствах файла.

Я также могу взять на себя ответственность, используя этот прекрасный сценарий из Интернета, который предоставляет контекстное меню при щелчке правой кнопкой мыши по файлу.

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"

Тем не менее, открытие непривилегированной командной строки в каталоге запрещает мне разрешение, когда я вызываю "takeown" из нее:

C:\path>takeown /f "file"
ERROR: The current logged on user does not have ownership privileges on
       the file (or folder) "C:\path\file".

Почему мне нужно вызывать явное административное разрешение в командной строке с повышенными правами, когда этот параметр реестра, вызываемый из непривилегированного окна обозревателя, может изменить ситуацию без проблем?

1 ответ

Решение

Чтобы взять на себя ответственность, любая программа должна явно запросить у себя SeTakeOwnershipPrivilege разрешение от Windows.

Посмотрите Привилегии Процесса, где это определено как:

Таким образом, кажется, что Windows Explorer позаботился о том, чтобы выделить себе это разрешение, но для cmd он предоставляется только при выполнении с повышенными разрешениями. cmd Запущенный изнутри Windows Explorer будет наследовать родительские права доступа и, таким образом, сможет стать владельцем.

Другие вопросы по тегам