※ 요약

UAC란 윈도우 비스타부터 추가된 보안을 위한 기능으로써, UAC가 켜져 있을 경우 윈도우가 설치된 시스템 드라이브(보통 C드라이브)에는 파일 쓰기나 파일 변경이 불가능하다. 이럴때는 프로그램을 관리자 권한으로 실행해도 되지만 UAC에 관계없이 파일 쓰기나 변경이 가능한 폴더 Temp 폴더에 작업을 하는게 여러모로 편리하고 안전하다.


※ 탐색기에서 temp 폴더 경로 구하기

탐색기 주소표시줄에 환경변수 %temp%를 입력하면 현재 시스템의 temp 폴더를 알 수 있다. 필자의 경우 C:\Users\사용자 이름\AppData\Local\Temp가 temp 폴더의 경로다.



※ 실행창에서 temp 폴더 경로 구하기

실행창에 환경변수 %temp%를 입력하면 temp폴더가 탐색기를 통해 열린다.


※ 윈도우API 함수를 통해 경로 구하기

아래 예제는 MFC에서 작성한 예제다. MFC 말고도 C#이나 Java 등에서도 구할 수 있을텐데 필자는 C++만 해서 다른 언어는 자세히 모르겠다. 아무튼 GetTempPath를 이용하면 아래와 같이 temp 경로를 구할 수 있다.


※ 요약

윈도우 비스타부터 추가된 보안기술 UAC는 User Account Control의 약자로써, 사용자 계정 컨트롤이라고도 부른다. 비스타부터 추가되었으므로 비스타를 포함, 그 이후에 나온 윈도우7 및 윈도우8, 윈도우8.1, 윈도우10등(서버 버전 포함)에도 추가되었으며 관리자가 권한 수준을 허락할 때까지 표준 사용자 권한으로 제한을 둠으로써 윈도우의 보안 수준을 개선하는 역할을 한다. UAC를 묻는게 번거롭고 귀찮으면 비활성화 할 수도 있지만 필자는 개인적으로 활성화하기를 추천한다.


※ UAC에 제한을 받는 작업 목록

- 응용 프로그램의 아이콘에서 마우스 오른쪽 단추를 누른 뒤 "관리자 권한으로 실행"을 누른다.

-  %SystemRoot%의 파일을 %ProgramFiles%로 옮긴다.

- 응용 프로그램을 설치하거나 지운다.

- 장치 드라이버를 설치한다.

- 액티브엑스 컨트롤을 설치한다.

- 윈도우 방화벽의 설정을 바꾼다.

- UAC 설정을 바꾼다.

- 윈도우 업데이트를 구성한다.

- 사용자 계정을 추가하거나 지운다.

- 사용자 계정의 종류를 바꾼다.

- 부모 제어를 구성한다.

- 작업 스케줄러를 실행한다.

- 백업해 두었던 시스템 파일들을 복원한다.

- 다른 사용자의 폴더와 파일을 보거나 변경한다.

- 권한 상승을 유도하는 메니페스트가 포함된 프로그램을 실행한다. (설치 프로그램 파일이 보통 이러한 기능을 이용한다.)

- setup, install과 같은 문자열이 이름에 포함된 실행 파일을 실행한다.


※ 자세한 정보


 

※ 요약
본인이 Visual Studio로 만든 프로그램을 관리자 권한으로 실행하는 방법에 대한 포스팅이다.

관리자 권한이 필요한 때는 운영체제가 위치한 C드라이브에서 파일을 쓰거나 지울때, 시스템 정보를 얻어오거나 변경할때 등이다.

사용자 접근 제한(UAC)는 Windows Vista부터 적용된 개념으로써, Vista 전에 출시된 구버전 Visual Studio에서는 다른 방법으로 적용해야 한다.


※ 관리자 권한 적용 방법

적용하려는 프로젝트를 마우스 우클릭하여 팝업 메뉴를 띄우고 "속성(R)"항목을 클릭한다.

 


속성 페이지가 뜨면 차례로 "구성 속성 -> 링커 -> 매니페스트 파일" 이동한뒤, UAC 실행 수준을 아래와 같이 "requireAdministrator(/level='requireAdministrator')"로 바꿔주면 끝난다.



+ Recent posts