此部分包含以下主题:
本附录说明 tcllca.so 库,该库是一个向 TCL 环境添加 LCA 命令的 LCA 扩展。
注意:此信息仅适用于 UNIX。
tcllca 比 selang 命令语言更灵活,在添加新命令的同时可模仿 TCL shell 环境中的 selang,以返回有关 TCL 环境中 CA ControlMinder 对象(用户、资源、类和属性)的信息,而无需使用 selang 命令并解析结果。
该扩展为共享库格式,通过 TCL 加载命令进行加载。 您可能需要将 LD_LIBRARY_PATH 设置为 CA ControlMinder 目录中的 lib 子目录。 要成功加载该扩展,您必须具有 CA ControlMinder 管理标志和本地终端访问权限,并且正在运行 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
版权所有 © 2013 CA。
保留所有权利。
|
|