
문제
여기 VMWare에 Windows XP SP3이 설치되어 있고 아주 새로 설치되었으며 여러 응용 프로그램(브라우저, Office)이 설치되어 있습니다.
내가:
- 로컬 관리자로 로그인
- Explorer의 GUI를 사용하여 원격 서버를 X로 연결합니다.
- 다음 중 하나를 수행하여 시작 메뉴 링크를 통해 "명령 프롬프트"를 시작합니다.
a) 링크를 수동으로 시작합니다.
b) 링크를 마우스 오른쪽 버튼으로 클릭하고 "다음 계정으로 실행..."을 선택한 다음 동일한 사용자의 자격 증명을 입력합니다.
전자의 경우에는 잘 작동하지만 후자의 경우에는 다음 항목 cmd.exe
에 액세스할 수 없습니다 X:
.
C:\Documents and Settings\Administrator>net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
Unavailable X: \\server\share\folder Microsoft Windows Network
The command completed successfully.
C:\Documents and Settings\Administrator>x:
The system cannot find the drive specified.
C:\Documents and Settings\Administrator>dir x:\
The system cannot find the path specified.
C:\Documents and Settings\Administrator>
사전분석
프로세스에 대해 찾을 수 있는 다양한 속성을 비교했습니다(모두 관련이 있는지는 잘 모르겠습니다). 환경, 열린 핸들, 열린 DLL, 프로세스 탐색기의 "보안" 탭 등이 모두 동일합니다.
내가 발견한 한 가지는 프로세스 모니터로 시도를 관찰할 때 다음 시도가 네 단계를 더 수행한다는 것입니다.
"Time of Day","Process Name","PID","Operation","Path","Result","Detail"
"10:55:33.4784227 AM","cmd.exe","2792","RegOpenKey","HKCU","SUCCESS","Desired Access: Maximum Allowed"
"10:55:33.4785212 AM","cmd.exe","2792","RegOpenKey","HKCU\Software\Policies\Microsoft\Control Panel\Desktop","NAME NOT FOUND","Desired Access: Read"
"10:55:33.4785569 AM","cmd.exe","2792","RegOpenKey","HKCU\Control Panel\Desktop","SUCCESS","Desired Access: Read"
"10:55:33.4786210 AM","cmd.exe","2792","RegQueryValue","HKCU\Control Panel\Desktop\MultiUILanguageId","NAME NOT FOUND","Length: 256"
"10:55:33.4786650 AM","cmd.exe","2792","RegCloseKey","HKCU\Control Panel\Desktop","SUCCESS",""
"10:55:33.4787131 AM","cmd.exe","2792","RegCloseKey","HKCU","SUCCESS",""
"10:55:33.4912359 AM","cmd.exe","2792","CreateFile","X:","SUCCESS","Desired Access: Read Data/List Directory, Synchronize, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened"
"10:55:33.4924104 AM","cmd.exe","2792","QueryNameInformationFile","X:","SUCCESS","Name: \server\share\folder"
"10:55:33.4924860 AM","cmd.exe","2792","QueryInformationVolume","X:","SUCCESS","VolumeCreationTime: 9/6/2005 2:05:04 PM, VolumeSerialNumber: 109F-0912, SupportsObjects: True, VolumeLabel: DATA"
"10:55:33.4932539 AM","cmd.exe","2792","CloseFile","X:","SUCCESS",""
"10:55:33.4937810 AM","cmd.exe","2792","RegOpenKey","HKCU","SUCCESS","Desired Access: Maximum Allowed"
"10:55:33.4939097 AM","cmd.exe","2792","RegOpenKey","HKCU\Software\Policies\Microsoft\Control Panel\Desktop","NAME NOT FOUND","Desired Access: Read"
"10:55:33.4939451 AM","cmd.exe","2792","RegOpenKey","HKCU\Control Panel\Desktop","SUCCESS","Desired Access: Read"
"10:55:33.4940098 AM","cmd.exe","2792","RegQueryValue","HKCU\Control Panel\Desktop\MultiUILanguageId","NAME NOT FOUND","Length: 256"
"10:55:33.4940548 AM","cmd.exe","2792","RegCloseKey","HKCU\Control Panel\Desktop","SUCCESS",""
"10:55:33.4941023 AM","cmd.exe","2792","RegCloseKey","HKCU","SUCCESS",""
CreateFile, Query* 및 CloseFile 단계가 실패한 단계의 로그에 없습니다.
질문
그러한 불일치의 원인은 무엇입니까? 이것은 버그인가요?
답변1
Windows XP부터 각LSA 로그온 세션(관련이 없다터미널 서비스 세션으로)자신의 세트드라이브 문자 할당. 당신이 사용하는 경우다음 계정으로 실행...– 계정이 동일하든 다르든 상관없이 함수는 제공된 자격 증명을 사용하여 별도의 로그온 세션을 생성합니다.
Windows 8 또는 Server 2012(대략)부터 EnableLinkedConnections
레지스트리 값을 활성화하여 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
UAC 고급 응용 프로그램이 일반 드라이브 매핑을 공유하도록 허용할 수 있습니다.
더:
- MS KB 937624(2011-06-24):Windows Vista 또는 Windows 7에서 사용자 계정 컨트롤을 켠 후 프로그램이 일부 네트워크 위치에 액세스하지 못할 수 있습니다.
- MS KB 3035277:UAC가 Windows에서 "자격 증명 프롬프트"로 구성된 경우 관리자 프롬프트에서 매핑된 드라이브를 사용할 수 없습니다.
답변2
매핑된 드라이브는 !PER USER에 있기 때문입니다! 기본적으로 다른 사용자(RUN AS를 수행하는 사용자)는 이를 볼 수 없습니다!
승리하려면 먼저 사용자로 실행되는 일괄 드라이브 매핑을 시도해야 합니다.