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

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

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

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT*shellrunas]
@="Take Ownership"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT*shellrunascommand]
@="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_ROOTDirectoryshellrunas]
@="Take Ownership"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOTDirectoryshellrunascommand]
@="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:pathfile".

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

18
задан Zhro
20.02.2023 13:38 Количество просмотров материала 3198
Распечатать страницу

1 ответ

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

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

image

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

1
отвечен harrymc 2023-02-21 21:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

command-line
icacls
permissions
windows
Вверх