2011-04-08 6 views
0

내 응용 프로그램은 ShellExecuteEx에서 "runas"동사로 새 프로세스를 시작하여 관리자 권한을 얻었습니다. 새 프로세스는 사용자 폴더에 일부 파일을 생성하지만 내장 된 사용자는 파일을 읽을 수 없습니다. 관리자 만이 파일에 액세스 할 수 있습니다. XP와 Vista에서 같은 문제가 발생했습니다.ShellExecuteEx + runas + 파일 액세스 권한

나는 SetNamedSecurityInfo() 문서를 읽으려고했으나 newbee에는 너무 복잡합니다. 누군가가 내장 된 사용자에게 파일 읽기 액세스 만 허용하는 방법을 말할 수 있습니까?

감사합니다.

+1

'runas'는 사용하지 마십시오. 어쨌든 그것은 더러운 것입니다. –

+0

@ 한스, 더러운? uac 대화 상자를 표시하는 3 가지 방법 중 하나입니다 IIRC – Anders

+0

일부 코드 스 니펫은보다 효과적인 조언을 제공합니다. –

답변

0

사용자가 파일을 만들면 파일 소유자는 기본적으로 해당 사용자로 설정됩니다. 따라서 관리자가 파일을 만드는 명령을 실행하면 관리자가 아닌 해당 파일을 소유하게됩니다. 파일 수가 많지 않은 관리자에게 runas에 대한 더 작은 명령을 찾아야하며 그렇지 않은 경우 해당 파일의 소유권을 다시 사용자에게 변경하는 또 다른 runas 명령을 추가해야합니다.

나는 리눅스 세계에서 온 것처럼 윈도우 프로그래밍에 대한 경험이 없다고 고백해야한다. 그러나 누군가가 당신에게 당신이 무엇을 이해할 수 있도록 몇 가지 코드를 게시한다면 적절한 명령을 찾도록 도울 것이라고 확신한다. 다시하려고합니다.

+0

admin ("시스템 오브젝트 : 관리자 그룹의 구성원이 작성한 오브젝트의 기본 소유자"(nodefaultadminowner)) 인 경우 소유자는 policy/레지스트리 설정에 따라 다릅니다. – Anders