이 섹션은 다음 항목을 포함하고 있습니다.
이 부록에서는 TCL 환경에 LCA 명령을 추가하는 LCA 확장인 tcllca.so 라이브러리에 대해 설명합니다.
참고: 이 정보는 UNIX에만 해당됩니다.
selang 명령 언어보다 유연한 tcllca는 TCL 셸 환경의 selang과 같은 기능을 하지만, TCL 환경에서 selang 명령을 사용하고 결과를 구문 분석할 필요 없이 CA ControlMinder 개체(사용자, 리소스, 클래스 및 속성)에 대한 정보를 반환할 수 있는 새로운 명령이 추가로 포함되어 있습니다.
이 확장은 공유 라이브러리 형식으로 사용되며 TCL 로드 명령으로 로드됩니다. LD_LIBRARY_PATH를 CA ControlMinder 디렉터리에 있는 lib 하위 디렉터리로 설정해야 할 수 있습니다. 이 확장을 올바르게 로드하려면 사용자에게 CA ControlMinder admin 플래그와 로컬 터미널에 대한 액세스 권한이 있어야 하며 CA ControlMinder가 실행 중이어야 합니다.
이 확장은 다음과 같은 공유 라이브러리를 로드합니다.
tcllca 확장을 로드하려면
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:ACDir/lib
tclsh
% 프롬프트가 나타납니다.
다음 명령으로 tcllca 라이브러리를 로드합니다.
load ACDir/tcllca.so
다음 샘플 프로그램은 먼저 tcllca.so 확장 라이브러리를 로드한 다음 root 사용자가 소유하는 모든 사용자를 찾습니다.
>setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/opt/CA/AccessControl/lib
>tclsh
%load /opt/CA/eTrustAccessControl/lib/tcllca.so
%set user_list [se_get_resources user]
%foreach user $user_list {
if {[se_scan_props user $user OWNER] == "OWNER root"} {
lappend root_owned $user
}
}
%if [info exists root_owned] {
puts "users owned by root : $root_owned"
} else {
puts "no users owned by root"
}
%
LCA TCL 확장에는 다음 함수가 포함되어 있습니다.
se_class_list 함수는 데이터베이스의 모든 클래스를 출력합니다.
se_class_list
se_get_resources 함수는 지정된 클래스에 있는 모든 개체의 이름을 출력합니다. 개체가 지정된 경우 이 함수는 데이터베이스에서 해당 개체를 찾고, 개체가 없으면 오류를 반환합니다. 개체가 있으면 해당 개체의 이름을 출력합니다. 개체에 와일드카드가 포함되어 있는 경우에는 개체 목록을 반환합니다.
예를 들어 다음 명령은 데이터베이스에 있는 모든 사용자의 목록을 반환합니다.
se_get_resources user se_get_resources class [object];
segetstat 함수는 마지막 명령으로 반환된 상태를 알려 줍니다.
마지막 명령이 처리되었습니다.
마지막 명령이 처리되지 않았습니다.
newfile, newgrp, newres 및 newusr 명령에만 사용되며, 개체가 데이터베이스 내에 이미 있음을 나타냅니다.
selang 명령에서 정보 메시지가 반환되었습니다.
마지막 두 개의 반환 값(DUP 및 NOTICE)은 selang 명령에서만 반환될 수 있습니다.
segetstat
se_grp_usrs 함수는 그룹에 있는 모든 사용자의 목록을 출력합니다. 이 함수는 사용자 그룹에만 사용할 수 있으며 GFILE 및 GHOST 같은 다른 클래스의 그룹에는 사용할 수 없습니다.
예를 들어 다음 명령은 "system"이라는 그룹에 있는 모든 사용자를 출력합니다.
se_grp_usrs system se_grp_usrs group_name
se_is_running 함수는 seosd 데몬이 현재 실행 중인지 여부를 알려 줍니다. 이 함수는 seosd가 현재 실행 중이면 "yes"를 반환하고, 그렇지 않으면 "no"를 반환합니다.
se_is_running
selang 함수는 CA ControlMinder 명령을 실행합니다. 매개 변수는 selang 유틸리티로 전송될 때와 동일하게 전송됩니다. 결과로는 selang 출력이 반환됩니다. 이 함수는 데이터베이스 내의 데이터를 변경하는 데 사용할 수 있는 유일한 명령입니다.
참고: 이 함수는 실제로 selang을 호출하지는 않습니다. 단지 API를 사용하여 데이터베이스 또는 에이전트에 연결하며 selang과 동일한 구문을 사용할 뿐입니다.
예를 들어 다음 명령은 데이터베이스 내의 파일(있는 경우)에 대한 속성을 반환하며, 해당 파일이 없는 경우에는 selang 오류 메시지를 반환합니다.
selang sr file /opt/CA/AccessControl/bin/selang selang parameters
se_objs_in_grp 함수는 동일한 클래스에 속하는 리소스 그룹(GHOST, GTERMINAL, GFILE 및 GSUDO)의 모든 구성원을 출력합니다.
예를 들어 다음 명령은 DevTerms 그룹에 있는 모든 호스트를 출력합니다.
se_objs_in_grp GHOST DevTerms se_objs_in_grp class object_list
se_scan_props 함수는 데이터베이스 내의 개체에 대한 속성을 출력합니다. 속성을 지정하지 않을 경우 이 함수는 모든 개체 속성의 목록을 반환합니다. 각 속성을 공백으로 구분하여 속성 목록을 지정할 수 있습니다.
예를 들어 다음 명령은 root 사용자 감사 모드를 반환합니다.
se_scan_props user root AUDIT_MODE se_scan_props class object [properties]
sewhoami 함수는 사용자가 현재 실행에 사용하고 있는 CA ControlMinder 사용자 이름(현재 UNIX 사용자와는 다를 수 있음)을 알려 줍니다.
Sewhoami
|
Copyright © 2013 CA.
All rights reserved.
|
|