SUDO 클래스의 레코드에는 사용자가 빌린 권한으로 스크립트를 실행할 수 있는 명령 스크립트가 저장되어 있습니다. 권한을 빌려올 수 있는 자격은 스크립트를 실행하는 sesudo 명령과 SUDO 레코드가 엄격하게 제어합니다.
참고: 대화형 Windows 응용 프로그램에 대해 SUDO 레코드를 만드는 경우 SUDO 레코드에 대한 대화형 플래그를 설정해야 합니다. 대화형 플래그를 설정하지 않는 경우 응용 프로그램이 백그라운드로 실행되고 사용자가 응용 프로그램과 상호 작용할 수 없습니다. 자세한 내용은 문제 해결 안내서를 참조하십시오.
SUDO 레코드에서 comment 속성은 특수한 용도로 사용되며 흔히 data 속성이라는 다른 이름으로 알려져 있습니다.
comment 속성 값은 명령 스크립트이며 금지하거나 허용할 스크립트 매개 변수 값을 하나 이상 이 속성 값에 선택적으로 추가할 수 있습니다. 트로이 목마 바이러스가 침입하는 것을 방지하려면 전체 comment 속성 값을 작은따옴표로 묶어야 하고 실행 파일을 전체 경로 이름으로 참조해야 합니다.
comment 속성의 형식은 다음과 같습니다.
comment('cmd[;[prohibited‑values][;permitted‑values]]')
금지된 값과 허용된 값의 목록은 선택 사항이므로 간단한 comment 속성 값은 다음과 같을 수 있습니다.
newres SUDO NET comment('net use')
이 명령에서 간단한 값은 sesudo NET 명령이 'net use' 명령을 실행한다는 의미입니다. 금지되는 특정 스크립트 매개 변수 값은 없으며, 모두 허용됩니다.
와일드카드와 적합한 변수를 사용하면 금지된 매개 변수와 허용된 매개 변수를 다양하게 지정할 수 있습니다. 사용할 수 있는 와일드카드는 표준 Windows 와일드카드입니다. 금지된 매개 변수와 허용된 매개 변수는 다음 변수를 포함할 수 있습니다.
|
변수 |
설명 |
|---|---|
|
$A |
영문자 값 |
|
$G |
기존의 CA ControlMinder 그룹 이름 |
|
$H |
(UNIX 전용) 사용자의 홈 디렉터리로 시작되는 매개 변수 |
|
$N |
숫자 값 |
|
$O |
sesudo를 실행하는 사용자의 CA ControlMinder 이름 |
|
$U |
기존 CA ControlMinder 사용자 이름 |
|
$e |
비어 있는 항목. 규칙에 대한 매개 변수가 없는 SUDO 명령을 지정할 때 사용합니다 |
|
$f |
기존 파일 이름 |
|
$g |
기존 Windows 그룹 이름 |
|
$h |
기존 호스트 이름 |
|
$r |
Windows 읽기 권한이 있는 기존 파일 |
|
$u |
기존 Windows 사용자 이름 |
|
$w |
Windows 쓰기 권한이 있는 기존 파일 |
|
$x |
Windows 실행 권한이 있는 기존 파일 |
금지된 매개 변수 값의 목록을 스크립트에 추가하는 경우:
newres SUDO scriptname comment('cmd;-start')
여기서 cmd는 스크립트를 나타냅니다.
또한 매개 변수 값을 허용하지 않으면서 모든 매개 변수를 기본값으로 사용하려면 다음과 같이 SUDO 레코드를 정의하십시오.
newres SUDO scriptname comment('cmd;*')
newres SUDO scriptname comment('cmd;-start -stop')
newres SUDO scriptname comment('cmd;-start -stop | $u')
스크립트에 나열한 매개 변수보다 많은 수의 매개 변수가 있는 경우 금지된 매개 변수의 마지막 집합은 나머지 모든 매개 변수에 적용됩니다.
허용된 매개 변수 값의 목록을 스크립트에 추가하는 경우:
따라서 매개 변수 값이 금지된 목록에 있으면 허용된 목록에 지정되어 있더라도 허용되지 않습니다.
newres SUDO scriptname comment('cmd;;NAME')
예를 들어 두 개의 매개 변수가 있을 때 첫 번째 매개 변수는 숫자여야 하지만 Windows 사용자 이름을 사용할 수 없으며, 두 번째 매개 변수는 영문자여야 하지만 Windows 그룹 이름을 사용할 수 없는 경우에는 다음 명령을 입력하십시오.
newres SUDO scriptname comment('cmd;$u | $g ;$N | $A')
스크립트에 나열한 매개 변수보다 많은 수의 매개 변수가 있는 경우 허용된 매개 변수의 마지막 집합은 나머지 모든 매개 변수에 적용됩니다.
따라서 comment 속성의 전체 형식은 먼저 스크립트가 온 다음 금지된 값이 매개 변수별로 오고 마지막으로 허용된 값이 매개 변수별로 옵니다.
comment('cmd; \
param1_prohib1 param1_prohib2 ... param1_ prohibN | \
param2_prohib1 param2_prohib2 ... param2_ prohibN | \
...
paramN_prohib1 paramN_prohib2 ... paramN_prohibN ; \
param1_permit1 param1_permit2 ... param1_ permitN | \
param2_permit1 param2_permit2 ... param2_ permitN |
...
paramN_permit1 paramN_permit2 ... paramN_permitN')
Sesudo 유틸리티는 사용자가 입력한 각 매개 변수를 다음과 같은 방식으로 검사합니다.
모든 매개 변수가 허용된 매개 변수와 일치하며 금지된 매개 변수와 일치하는 매개 변수가 없을 경우에만 sesudo는 명령을 실행합니다.
예: 사용자가 net send를 실행하도록 허용하는 작업 위임 설정
다음 절차는 사용자 Takashi가 net send 명령을 실행하는 것은 허용하고 net start 명령을 실행하는 것은 금지하는 방법을 보여줍니다.
"권한 부여 및 위임" 메뉴 옵션이 왼쪽에 나타납니다.
"작업 위임" 페이지가 나타납니다.
"작업 만들기" 페이지가 나타납니다.
|
필드 |
값 |
|---|---|
|
이름 |
NET |
|
데이터 |
net;start;send * |
|
소유자 |
nobody |
|
기본 액세스 |
없음(옵션 지움) |
|
권한이 있는 접근자 |
USER: Takashi Allow: Execute |
"저장"을 클릭합니다.
새 작업 위임(SUDO) 레코드가 작성됩니다.
sesudo -do NET start
다음과 같은 메시지가 나타납니다.
sesudo: 'start'을(를) 매개 변수 번호 1(으)로 사용할 수 없습니다.
참고: net start는 금지된 값으로 정의되었기 때문에 실행되지 않습니다.
sesudo -do NET send comp message
명령이 실행됩니다.
예: 대화형 응용 프로그램을 사용하여 권한 있는 작업을 수행하도록 사용자에게 권한 부여
사용자는 다음 예제와 같이 스냅인 MSC 모듈을 사용하여 높은 수준의 권한이 필요한 작업을 수행할 수 있습니다.
"권한 부여 및 위임" 메뉴 옵션이 왼쪽에 나타납니다.
"작업 위임" 페이지가 나타납니다.
"작업 만들기" 페이지가 나타납니다.
|
필드 |
값 |
|---|---|
|
이름 |
services |
|
데이터 |
c:\winnt\system32\mmc.exe |
|
소유자 |
nobody |
|
옵션 |
대화형(옵션 선택함) |
|
기본 액세스 |
없음(옵션 지움) |
|
권한이 있는 접근자 |
USER: Tori Allow: Execute |
"저장"을 클릭합니다.
새 작업 위임(SUDO) 레코드가 작성됩니다. 대화형 옵션은 서비스가 시작되었을 때 로그인한 사용자가 사용할 수 있는 데스크톱 사용자 인터페이스를 제공합니다. 이 기능은 서비스가 LocalSystem 계정으로 실행 중인 경우에만 사용할 수 있습니다.
sesudo -do services
| Copyright © 2013 CA. All rights reserved. |
|