Windows® 7에서는 프린터 드라이버를 설치하거나 무선 네트워크에 연결하는 등 일반 작업을 수행할 때 표준 사용자 권한으로 최종 사용자 계정을 실행하는 간단한 메커니즘을 제공하므로 관리자 권한을 사용할 필요가 없습니다. 이러한 기본적인 변경은 악성 소프트웨어(맬웨어)와 루트 킷으로 인해 회사 전체의 파일과 설정이 손상되는 것을 방지하므로 운영 체제 수준에서 보안을 제공하는 데 유용합니다.
UAC(사용자 계정 컨트롤)는 최소 권한에 대한 보안 이론, 즉, 할당된 작업을 수행하는 데 필요한 최소한의 절대 권한이 사용자에게 있어야 한다는 개념을 기반으로 합니다. UAC와 호환되는 UNIX 기반 응용 프로그램용 하위 시스템에서 변경된 사항은 LUA(Least-privilege User Account)를 사용하는 것입니다.
사용자 계정 컨트롤
사용자 계정 컨트롤은 Windows Vista에 도입된 Windows 7의 보안 기능입니다.
사용자 계정 컨트롤의 기본 목적은 모든 사용자가 표준 사용자 모드에서 실행되도록 하고 관리자 수준 액세스를 권한 있는 프로세스로 제한하여 Windows 7 운영 체제의 노출 및 공격 범위를 줄이는 것입니다. 이러한 제한을 적용하면 컴퓨터를 불안정하게 하거나 검색되지 않는 악성 소프트웨어를 통해 컴퓨터에 감염된 바이러스에 네트워크가 부주의하게 노출될 수 있게 사용자가 변경할 수 있는 기능을 최소화하게 됩니다.
기본적으로 Windows 7에서는 현재 사용자가 Administrators 그룹의 구성원으로 로그온되어 있는 경우에도 모든 응용 프로그램을 표준 사용자로 실행합니다. 반대로 사용자가 관리자 권한이 필요하다고 표시된 응용 프로그램을 시작하려고 하면 Windows 7는 해당 작업을 수행할 의도를 확인하는 메시지를 표시합니다. 관리자 권한으로 실행되는 응용 프로그램에서만 시스템 및 전역 설정과 동작을 수정할 수 있습니다.
사용자 계정 컨트롤에 대한 자세한 내용은 Microsoft 웹 사이트의 항목 "Windows Vista 사용자 계정 컨트롤 이해 및 구성"(
UNIX 기반 응용 프로그램용 하위 시스템의 사용자 계정 컨트롤 및 최소 권한
Administrators 그룹의 구성원으로 UNIX 기반 응용 프로그램용 하위 시스템 사용자가 응용 프로그램, 셸 또는 기타 작업을 시작하면 응용 프로그램은 표준 사용자의 보안 컨텍스트에서 실행됩니다.
다음 예제에서는 사용자 계정 컨트롤을 통해 Administrators 그룹의 구성원인 사용자가 상승된 권한 없이는 관리 작업을 수행할 수 없도록 하는 방법을 보여줍니다.
사용자 A는 Administrators 그룹의 구성원이고 /(루트) 디렉터리에 test라는 새 디렉터리를 만들려고 합니다. Administrators 그룹의 구성원만 루트 디렉터리에 새 디렉터리를 만들 수 있습니다. 그러나 사용자 A는 Administrators 그룹의 구성원이지만 LUA 제한 때문에 새 디렉터리를 만들 수 없습니다. 사용자 A는 상승된 권한으로 Korn 셸을 열고 루트에 test 디렉터리를 만들 수 있습니다.
상승된 권한으로 응용 프로그램을 실행하거나 작업을 수행하려면 다음 절차를 참조하십시오.
관리자로 응용 프로그램을 실행하는 방법
UNIX 기반 응용 프로그램용 하위 시스템과 해당 도구와 유틸리티의 다운로드 패키지를 설치하면 두 가지 방법을 사용하여 응용 프로그램을 관리자로 실행할 수 있습니다.
Windows 인터페이스 사용
관리자 권한을 필요로 하는 Windows 사용자 인터페이스에서 응용 프로그램을 실행하려면 다음 단계를 수행합니다.
Windows 인터페이스에서 관리자로 응용 프로그램 실행하기 |
응용 프로그램 실행 파일을 마우스 오른쪽 단추로 클릭합니다.
바로 가기 메뉴에서 Administrator로 실행을 클릭합니다.
UNIX 기반 명령줄 사용
관리자 권한을 필요로 하는 UNIX 기반 Korn 셸 환경에서 응용 프로그램을 실행하려면 다음 단계를 수행합니다.
Korn 셸에서 관리자로 응용 프로그램 실행하기 |
시작, 모든 프로그램, UNIX 기반 응용 프로그램용 하위 시스템을 차례로 클릭하고 Korn 셸을 가리킵니다.
Korn 셸을 마우스 오른쪽 단추로 클릭하고 Administrator로 실행을 클릭합니다.
셸을 관리자로 실행하도록 하는 메시지가 표시되면 예를 클릭합니다.
Administrator 권한을 필요로 하는 프로그램을 실행합니다.
상승된 권한을 필요로 하는 응용 프로그램 실행을 마치면 셸 세션을 닫습니다.
UNIX 기반 셸 환경에서 Administrator 권한이 필요 없는 기타 작업을 수행하려면 Administrator로 실행 명령을 사용하지 않고 새 셸 세션을 엽니다.
EnableSuToRoot 레지스트리 키
사용자 계정 컨트롤은 기본적으로 사용됩니다. 사용자 계정 컨트롤이 사용되는 경우 su, cron 또는 login 유틸리티, setuid, setuid 또는 exec_asuser 호출 그룹 중 하나를 사용하여 Administrators 그룹의 구성원인 다른 사용자로 가장하는 응용 프로그램이나 작업이 항상 표준 사용자 계정의 보안 컨텍스트에서 실행됩니다.
참고 | |
응용 프로그램이 표준 사용자로 가장하면 응용 프로그램에 표준 사용자의 전체 보안 컨텍스트가 주어집니다. 표준 사용자에 대한 자세한 내용은 Microsoft 웹 사이트의 항목 "최소 권한의 환경에서 응용 프로그램에 대한 개발자 우수 사례 및 지침" 소개 부분( |
기본 설정을 사용하면 응용 프로그램이 루트 사용자로 가장할 수 없습니다. 이 동작은 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SUA\EnableSuToRoot를 수정하여 제어할 수 있습니다.
EnableSuToRoot 레지스트리 키를 수정하는 방법
중요 | |
무단 사용자 또는 악의적인 사용자로부터 컴퓨터 및 데이터를 보호하기 위해 Administrator 계정은 기본적으로 Windows 7 및 Windows Server 2008 R2에서 사용되지 않으므로 사용자가 루트 사용자 또는 Administrator를 가장할 수 있도록 하려면 Administrator 계정을 사용하도록 설정해야 합니다. EnableSuToRoot 레지스트리 키의 설정을 변경하려면 먼저 Administrator 계정을 사용하도록 설정해야 하므로 이 작업을 완료하기 위한 절차가 바로 뒤에 실행됩니다. 다음 절차를 완료하려면 로컬 컴퓨터에서 Administrators 그룹의 구성원이어야 합니다. |
Administrator 계정을 사용하려면 |
시작을 클릭하고 컴퓨터를 마우스 오른쪽 단추로 클릭한 다음 관리를 클릭합니다.
컴퓨터 관리 스냅인의 계층 구조 창에서 로컬 사용자 및 그룹을 엽니다.
사용자를 선택합니다.
결과 창에서 Administrator를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
계정 사용 안 함 옵션 확인란의 선택을 취소합니다.
확인을 클릭합니다.
속성 창을 닫은 다음 컴퓨터 관리 스냅인을 닫습니다.
UNIX 기반 응용 프로그램용 하위 시스템을 설치한 후 EnableSuToRoot 레지스트리 키의 설정을 변경하려면 다음 단계를 수행합니다.
EnableSuToRoot 레지스트리 키의 설정 변경하기 |
시작, 검색 시작 텍스트 상자를 차례로 클릭하고 regedit를 입력하여 레지스트리 편집기를 엽니다.
계층 구조 창에서 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SUA를 엽니다.
결과 창에서 EnableSuToRoot를 두 번 클릭합니다.
값 데이터 상자에서 루트 사용자의 가장을 허용하지 않으려면 0을 입력하고 허용하려면 1을 입력합니다.
기본 설정은 0입니다.
확인을 클릭합니다.
레지스트리 편집기를 닫고 메시지가 표시되면 변경 내용을 저장합니다.
이 키 값을 0(기본 설정)으로 설정하면 루트 사용자의 가장이 허용되지 않습니다. 이 값을 1로 설정하면 루트 사용자의 가장이 허용됩니다. 응용 프로그램이 루트 사용자나 Administrator 계정으로 가장하면 응용 프로그램에는 루트(Administrator) 사용자의 관리 보안 컨텍스트가 주어집니다.
Setuid 및 관리 권한
Administrators 그룹의 구성원은 관리 보안 컨텍스트에서 응용 프로그램을 실행하고 작업을 수행하도록 허용된 경우에만 응용 프로그램을 setuid 특성으로 표시할 수 있습니다.
다음은 일반적으로 setuid 특성으로 표시되는 이진 파일 /bin/regpwd를 표시하는 방법에 대한 예입니다.
-
이 항목에서 설명한 대로 상승된 권한으로 Korn 셸(ksh)을 엽니다.
-
chmod +s /bin/regpwd를 입력하고 Enter 키를 누릅니다.
-
exit를 입력하여 ksh 세션을 닫습니다.