왜 명령 줄에서 "takeown"을 실행할 때 권한 오류가 발생합니까?


2

저는 Administrators 그룹의 일원입니다. 내가 소유권을 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로부터의 허가.

만나다 프로세스 권한 이것은 다음과 같이 정의됩니다.

image

따라서 Windows 탐색기가이 사용 권한을 할당하는 것처럼 처리 한 것처럼 보입니다. 이 아니라면 cmd 상승 된 권한으로 실행할 때만 부여됩니다. 에이 cmd Windows 탐색기에서 실행되면 부모를 상속받습니다. 권한이 없으므로 소유권을 가질 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.