2009-08-12 3 views
8

네트워크 드라이브를 프로그래밍 방식으로 매핑하는 응용 프로그램이 있습니다. UAC가 설치된 Vista에서는 몇 가지 이상한 문제가 발생합니다.Vista UAC - 문제 매핑 네트워크 드라이브

우리의 응용 프로그램은 드라이브를 상승되지 않은 것으로 매핑하므로 사용자가 탐색기를 탐색하고 exe를 실행하기 위해 두 번 클릭하면 UAC를 요구합니다. 그래서 그들이 그것을 승인하면 공유에 대한 사용자 이름/암호를 묻습니다 ... 신임장이 저장되기 때문에 이상합니다.

승격 된 프로세스는 승격되지 않은 프로세스에서 매핑 된 매핑 된 드라이브에 액세스 할 수 없습니다. 승 "아니오 UAC

  • 실행에

    • 실행 cmd.exe를 그물 사용 : \ yourHostname \ yourShare/사용자 : yourUser가 지정한 패스워드를/지속

      다음 단계 수행 행동이 문제를 확인하려면 : 예 w "
    • 실행 관리자
    • 유형으로 cmd.exe를"그물 ", 그리고 당신이 일반을 실행할 수있는이 시점에서 오류 메시지가

    참조" 사용 "이라고 표시하고 상승 된 cmd의 연결을 사용할 수 없음을 확인하지만 다른 상승되지 않은 cmd는 확인한 것으로 보입니다.

    누구든지이 문제를 해결할 수있는 해결 방법을 알고 있습니까? 네트워크 드라이브를 "모든 사용자"에게 매핑하는 방법일까요?

  • +0

    이 질문은 serverfault에 속할 수도 있습니다. –

    +0

    아니요, 프로그래밍에 대한 질문입니다. 권한 상승을 넘어 권한을 상속해야합니다. 나는 대답을 모른다. :) – bdonlan

    +0

    이것은 분명히 프로그래밍 질문이다. 우리는 우리의 응용 프로그램에서 WNetAddConnection2와 WNetCancelConnection2를 사용하지만 이것은 "net use"명령과 유사하다. – jonathanpeppers

    답변

    2

    확인 : Regedit Link

    그들은 높은 사용자가 그 반대의 경우도 마찬가지 매핑 된 드라이브에 액세스 할 수있는 레지스트리 키에 대해 설명합니다. 이 모든 문제를 해결하고 정확히 내가 뭘 찾고 있었는지.

    편집 :

    원래 링크가 죽었다는하지만, 여기에 1 월 24 일부터 복사로 텍스트의

    www.archive.org 2009 스냅 샷 :


    것은 당신이 액세스 권한이없는 것을 발견하는 경우 관리자 토큰에서 매핑 된 드라이브로 다음을 시도하십시오. 보호 된 관리자로 실행할 때 두 개의 토큰이 있으며이 키는 두 토큰에 대한 연결을 유지합니다 (즉, 어쨌든 내 이해입니다). 또한 로그인 스크립트로 문제를 해결하는 데 도움이 될 수 있습니다. 마이크로 소프트 \ WINDOWS \ CurrentVersion을 정책 \ \ 시스템 EnableLinkedConnections = (DWORD) 또한 사용 1

    \

    HKEY_LOCAL_MACHINE \ 소프트웨어는이 문서의 "절 '그룹 정책 스크립트 인해 사용자 계정 컨트롤에 실패 할 수 있습니다"입니다 .

    http://technet2.microsoft.com/WindowsVista/en/library/5ae8da2a-878e-48db-a3c1-4be6ac7cf7631033.mspx?mfr=true

    곧 이에 대한 자세한 정보를 게재됩니다.

    +0

    레지스트리의 기본 설정이었습니다. 권한이 낮은 사용자가 권한이있는 유일한 공유에 액세스 할 수있는 방법을 제공하지 않는 한 별도로 처리해야하는 문제입니다. – Mordachai

    +0

    이 솔루션은 Microsoft가 시스템을 안전하지 못하게하는 지원되지 않는 해결 방법으로 표시합니다. 자신의 위험에 그것을 사용하십시오 ... – Robert

    +0

    높은 프로세스가 비가 상 프로세스에 의해 생성 된 네트워크 공유에 액세스하는 것을 허용하는 것이 안전하지 않은지 잘 모르겠습니다. 이미 문을 열어 놓은 공정이 아닌가? 여전히 이상한 문제이며, 대부분의 사람들을 위해 해결할 수있는 지원되지 않는 해결 방법을 사용하고 싶습니다. – jonathanpeppers

    2

    이것은 의도적으로 설계된 것입니다.

    관리자 그룹의 구성원 자격 및 추가 권한이있는 상승 된 버전의 토큰을 가진 사용자 계정은 동일하지만 토큰은 독립적으로 생성되므로 다른 LUID를 가지며 커널에 다른 사용자의 것으로 나타납니다 로그온. 서로 다른 로그온을 사용하기 때문에 매핑 된 드라이브는 서로 공유되지 않습니다.

    http://blogs.msdn.com/cjacks/archive/2007/02/19/mapped-network-drives-with-uac-on-windows-vista.aspx에 대해 자세히 설명합니다. 이 링크 밖으로

    +0

    Vista 사용자가 네트워크 드라이브를 매핑하면 기본적으로 매핑 된 드라이브의 EXE를 실행할 수 없습니까? Windows 계정 사용자 이름/암호가 매핑 된 드라이브의 사용자 이름/암호와 일치하는 경우에만 작동합니까? 이것은 "디자인 상"가난한 상황처럼 보입니다. – jonathanpeppers

    +1

    사용자 이름은 동일하지만 권한 상승 및 비 상승은 여전히 ​​고유 한 사용자입니다. 일반 사용자가 드라이브를 관리 사용자 계정에 매핑 할 수 있습니까? 일반 사용자가 관리자가 필요로하는 것보다 드라이브 매핑에서 스쿼트를 받으면 DOS가 발생할 수 있습니까? 일반 사용자가 드라이브 매핑을 관리자가 예상하지 못하는 곳으로 유도하여 다른 바이너리를 실행하게하는 경우 EOP가 발생할 수 있습니까? – Michael

    +0

    나는 마이크로 소프트가 이것을 제대로 구현하지 못했다고 말하고있다. 어떤 형태 나 방식 으로든 다른 사용자가되어서는 안됩니다. 내 의견으로는 지름길을 택한 것처럼 보입니다. 이와 같은 상황에 대한 해결책이 없습니까? – jonathanpeppers

    관련 문제