SUDO 클래스의 레코드에는 사용자가 빌린 권한으로 스크립트를 실행할 수 있는 명령 스크립트가 저장되어 있습니다. 권한을 빌려올 수 있는 자격은 스크립트를 실행하는 sesudo 명령과 SUDO 레코드가 엄격하게 제어합니다.
SUDO 레코드에서 comment 속성은 특수한 용도로 사용되며 흔히 data 속성이라는 다른 이름으로 알려져 있습니다.
데이터 속성의 값은 명령 스크립트이며, 금지하거나 허용해야 하는 스크립트 매개 변수 값을 하나 이상 선택적으로 추가할 수 있습니다. 전체 data 속성 값은 작은 따옴표로 묶어야 하고 트로이 목마가 실행되지 않도록 실행 파일은 전체 경로 이름으로 참조되어야 합니다.
다음은 data 속성의 형식입니다.
data('cmd[;[prohibited‑values][;permitted‑values]]')
금지된 값과 허용된 값 목록이 선택 사항이므로 간단한 data 속성 값은 다음과 같을 수 있습니다.
newres SUDO MountCd data('mount /dev/cdrom /cdr')
간단한 이 값은 sesudo MountCd 명령이 mount /dev/cdrom /cdr 스크립트를 실행한다는 것을 나타냅니다. 금지되는 특정 스크립트 매개 변수 값은 없으며, 모두 허용됩니다.
와일드카드와 적합한 변수를 사용하면 금지된 매개 변수와 허용된 매개 변수를 다양하게 지정할 수 있습니다. 사용할 수 있는 와일드카드는 표준 UNIX 와일드카드입니다. 변수는 다음과 같습니다.
|
변수 |
설명 |
|---|---|
|
$A |
영문자 값 |
|
$G |
기존 CA ControlMinder 그룹 이름 |
|
$H |
사용자의 홈 경로 패턴 |
|
$N |
숫자 값 |
|
$O |
실행자의 사용자 이름 |
|
$U |
기존 CA ControlMinder 사용자 이름 |
|
$e |
매개 변수 없는 SUDO 명령 |
|
$f |
기존 파일 이름 |
|
$g |
기존 UNIX 그룹 이름 |
|
$h |
기존 호스트 이름 |
|
$r |
UNIX 읽기 권한을 가진 기존 UNIX 파일 이름 |
|
$u |
기존 UNIX 사용자 이름 |
|
$w |
UNIX 쓰기 권한을 가진 기존 UNIX 파일 이름 |
|
$x |
UNIX 실행 권한을 가진 기존 UNIX 파일 이름 |
금지된 매개 변수 값의 목록을 스크립트에 추가하는 경우:
newres SUDO scriptname data('cmd;‑9')
여기서 cmd는 스크립트를 나타냅니다.
또한 매개 변수 값을 허용하지 않으면서 모든 매개 변수를 기본값으로 사용하려면 다음과 같이 SUDO 레코드를 정의하십시오.
newres SUDO scriptname data('cmd;*')
newres SUDO scriptname data('cmd;‑9 ‑HUP')
newres SUDO scriptname data('cmd;‑9 ‑HUP | $u')
스크립트에 나열한 매개 변수보다 많은 수의 매개 변수가 있는 경우 금지된 매개 변수의 마지막 집합은 나머지 모든 매개 변수에 적용됩니다.
허용된 매개 변수 값의 목록을 스크립트에 추가하는 경우:
newres SUDO scriptname data('cmd;;NAME')
예를 들어, 두 개의 매개 변수가 있는데 첫 번째 매개 변수는 숫자여야 하지만 UNIX 사용자 이름이 아니어야 하고 두 번째 매개 변수는 영문자여야 하지만 UNIX 그룹 이름이 아니어야 한다면 다음 명령을 입력합니다.
newres SUDO scriptname data('cmd; $u | $g ; $N | $A')
스크립트에 나열한 매개 변수보다 많은 수의 매개 변수가 있는 경우 허용된 매개 변수의 마지막 집합은 나머지 모든 매개 변수에 적용됩니다.
따라서 data 속성의 전체 형식은 먼저 스크립트가 온 다음 금지된 값이 매개 변수별로 오고 마지막으로 허용된 값이 매개 변수별로 옵니다.
data('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')
| Copyright © 2013 CA. All rights reserved. |
|