四、使用cmdsec进行权限控制

GoldenGate 可以限制一些用户对命令的使用。例如可以让一些监控用户只使用INFO和STAT命令,不允许其使用start和stop命令,这是通过对操作系统用户组的限制而是现在限制使用命令的目的。

GoldenGate使用通过在安装目录下创建一个文件,并在文件加入一些规则来控制用户对命令的使用,每一行一条规则,规则的顺序要从控制范围最广到范围最少从上到下写,每个规则要用空格隔开。书写规则的格式如下:

示例21:

<command name> <command object> <OS group> <OS user> <YES | NO>

对每个选项的解释:

<command name>:是GoldenGate的命令或者一个通配符,例如start、stop、*。

<command object>:是GoldenGate的进程组类型或通配符,例如Extract、Replicat、MGR。

<OS group>:是操作系统用户组,在UNIX下可以用户ID来代替用户名,或者使用*来表示所有的用户组。

<YES | NO>:表示这个命令对这个用户是开放的还是禁止的。


下面是一个Linux系统下控制用户对命令使用的一个简单的案例:

示例22:

#GG command security  命令行

STATUS REPLICAT * Smith NO--不允许smith在容灾端使用STATUS命令

STATUS * dpt1 * YES         --除了上面的规则,所有dpt1组下的用户可以使用status  命令

START REPLICAT root * YES--root组下的用户可以使用start Replicat命令

START REPLICAT * * NO     --除了上面的规则,所有用户不能使用start replicat命令

* EXTRACT 200 * NO         --group id为200的组在生产端不可以使用命令

* * root root YES          --root用户可以使用任何的命令

* * * * NO                  --除了上面的规则,所有的用户不可以使用GoldenGate命令

CMDSEC文件是命令行安全的根源,必须要保证这个文件的安全,可以赋予用户对它读的权限,但是不允许GoldenGate管理员以外的所有用户修改和删除这个文件。


oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html