返回首页

gbase数据、南大通用产品文档:GBase8ssvc

更新日期:2024年09月11日


在 onconfig 文件中,为其中一个以太网卡设置 DBSERVERNAME 配置参数,为另
一个以太网卡设置 DBSERVERALIASES 配置参数。以下行显示 onconfig文件中的
样本条目:
DBSERVERNAME chicago1
DBSERVERALIASES chicago2

针对每张以太网卡添加一个 sqlhosts 条目。即,为 DBSERVERNAME 建立一个条
目,并为 DBSERVERALIASES 建立另一个条目。
#dbservername nettype hostname servicename options
chicago1 onsoctcp svc8 soc1
chicago2 onsoctcp svc81 soc2
此配置完成后,应用程序将通过指定给数据库服务器名称(由 GBASEDBTSERVER 环境
变量提供)的以太网卡进行通信。
网络安全性文件
GBase 8s 产品遵循由网络安全性文件中包含的信息管理的标准安全性过程。对于与远程计
算机上数据库服务器连接的客户机应用程序,客户机应用程序的用户在远程计算机上必须
具有有效的用户标识。
可信主机信息

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 37 -
/etc/hosts.equiv 和 .rhosts 文件为 rlogin、rsh、rcp 和 rcmd 提供了远程认证数据库。这些文件
指定了可信的远程主机和用户。允许可信用户在不提供密码的情况下访问本地系统。
hosts.equiv 文件应用于整个系统。各个用户在其主目录中维护自己的.rhosts 文件。
数据库服务器可以配置为使用 /etc/hosts.equiv 或 .rhosts 文件进行远程认证。要使用可信主
机信息进行认证,应该在 sqlhosts 信息中指定 s=1 或 s=3 选项。如果未指定 s 选项,s=3 是
缺省值。
可以将数据库服务器配置为使用其他文件进行远程认证。REMOTE_SERVER_CFG 配置参
数可以指定要使用的备用文件,而不是 hosts.equiv 文件。 在以下情况下,此备用文件是必
需的:

针对数据库服务器需要的可信主机不同于为操作系统列出的可信主机

安装时的安全策略不允许使用 hosts.equiv

您是非 root 服务器实例的用户,并且需要控制哪些主机可信
可信主机文件是指 hosts.equiv 文件或 REMOTE_SERVER_CFG 配置参数指定的文件。
如果客户机应用程序提供了无效的帐户名称和密码,那么即使可信主机信息包含客户端计
算机的条目,数据库服务器也将拒绝连接。请仅将可信主机信息用于不提供用户帐户或密
码的客户机应用程序。
usename 字段是可选的。包含用户名可将连接限制到指定的用户。
要避免额外的 DNS 查找,请在可信主机文件中指定包含和不包含域名的主机名。例如,
如果可信主机名为 argo,
并且位于域 example.com 中,
那么可信主机文件将指定以下主机:

#trustedhost #username
argo gbasedbt
argo.example.com gbasedbt
在一些网络中,远程主机用于连接到特定计算机的主机名可能与计算机用于表示其自身的
主机名不同。例如,包含标准域名 (FQDN) xyz.gbasedbt.com 的网络主机可能通过本地主
机名 viking 引用自身。如果发生这种情况,可信主机信息必须指定这两种主机名格式,如
以下示例中所示:
#trustedhost
xyz.gbasedbt.com
viking
如果使用的是系统 hosts.equiv 文件并使用了 rlogind 守护程序,那么可以在客户端计算机上
执行以下语句来确定客户机是否可信:
rlogin hostname

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 38 -
如果在没有收到密码提示的情况下成功登录,说明该客户机是可信计算机。当
REMOTE_SERVER_CFG 配置参数指定备用文件名时,这种用于确定客户机是否可信的方
法将失效。
通过在 sqlhosts 文件中配置专用端口,
可以提高 Enterprise Replication 连接和高可用性连接
的安全性。
可信用户信息
在用户的 .rhosts 文件中,用户可以列出可从中作为可信用户进行连接的主机。.rhosts 文件
位于数据库服务器所在的计算机上的用户主目录中。
要启用可信用户认证,
请在 sqlhosts 条
目的选项中指定 s=2 或 s=3。如果未指定 s 选项,s=3 是缺省值。
无法使用用户的 .rhosts 文件的原因可能有多种。例如,非 root 安装可能对特定用户
的 .rhosts 文件不具有读访问权。 通过设置 REMOTE_USERS_CFG 配置参数,可以指定
备用文件名。如果设置此参数,数据库服务器只有一个可信用户文件用于所有用户。
.rhosts 文件的每一行是用户可以从中进行连接的一个主机。必须指定包含和不包含域名的
服务器名称,以避免执行额外的 DNS 查找。 例如:
#trustedusers
xxx.example.com
xxx

yyy.example.com
yyy
REMOTE_USERS_CFG 配置参数指定的文件必须是各个 .rhosts 文件的组合。 文件中的每
个单行条目都具有以下格式:
hostname username
例如,假设针对用户 John 和 Fred 存在以下两个 .rhosts 文件:
~john/.rhosts
#trustedhosts
xxx.example.com
xxx

yyy.example.com
yyy
~fred/.rhosts
#trustedhosts
xxx.example.com
xxx

zzz.example.com
zzz

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 39 -
John 不信任 zzz.example.com 或 zzz,而 Fred 不信任 yyy.example.com 或 yyy。
.rhosts 文件可以合并到具有以下格式的一个文件中:
#trustedhost username
xxx.example.com john
xxx john

yyy.example.com john
yyy john

xxx.example.com fred
xxx fred

zzz.example.com fred
zzz fred
netrc 信息
netrc 信息是指定标识数据的可选信息。没有访问数据库服务器的权限的用户或不是数据库
服务器所信任的计算机上的用户可以使用此文件提供可信的名称和密码。在远程计算机上
拥有不同用户帐户和密码的用户也可以提供此信息。
UNIX™:netrc 信息位于用户主目录中的 .netrc 文件中。可使用任何标准的文本编辑器准
备 .netrc 文件。netrc 条目的格式为:
machine machine_name login user_name password user_password
如果您没有在应用程序中为远程服务器显式地提供用户密码
(即,
通过 CONNECT 语句的
USER 子句或 DB-Access 中提示的用户名和密码),那么客户机应用程序将用户名和密码
锁定在 netrc 信息中。 如果用户在应用程序中显式指定了密码,或者如果数据库服务器不
是远程的,那么将不会参考 netrc 信息。
无论数据库服务器是否使用缺省的认证策略或通信支持模块,它都将使用 netrc 信息。
有关此文件的特定内容的信息,请参阅您的操作系统文档。
用户模仿
对于某些客户机查询或操作,数据库服务器必须模仿客户机,为客户机运行进程或程序。
为了模仿客户机,数据库服务器必须接收每个客户机连接的密码。客户机可以通过
CONNECT 语句或 netrc 信息提供用户标识和密码。
以下示例显示了您可以如何提供密码以模仿客户机。
netrc
machine trngpc3 login bruce password im4golf
CONNECT 语句

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 40 -
CONNECT TO ol_trngpc3 USER bruce USING "im4golf"
sqlhosts 文件和 SQLHOSTS 注册表键
GBase 8s 客户机/服务器连接信息(sqlhosts 信息)包含允许客户机应用程序找到并连接到
网络上任何 GBase 8s 数据库服务器的信息。
sqlhosts 文件 (UNIX™)
在 UNIX 上,缺省情况下,sqlhosts 文件位于 $GBASEDBTDIR/etc 目录中。
sqlhosts 文件中的每个条目包含一个数据库服务器或数据库服务器组的sqlhosts 信息。其中
每个字段的附加语法规则将在以下各节中提供,它们将描述 sqlhosts 文件中的条目。 可使
用任何标准的文本编辑器在sqlhosts 文件中输入信息。
使用文本编辑器创建 sqlhosts 文件 (UNIX™)
缺省情况下,sqlhosts 文件位于 $GBASEDBTDIR/etc 目录中。或者,您可以
将 GBASEDBTSQLHOSTS 环境变量设置为包含sqlhosts 信息的文件的完整路径名和文件
名。每个主管数据库服务器或客户机的计算机都必须有一个 sqlhosts 文件。
打开任何标准文本编辑器以创建 sqlhosts 文件。
注:

使用空格(空格、制表符或两者)分隔各个字段。

不要在字段内包含任何空格或制表符。

要在 sqlhosts 文件中放置注释,请以注释符 (#) 开始每一行。您还可以将若干行
留空以增加可读性。
样本 sqlhosts 文件
以下代码块显示样本 sqlhosts 文件。
#dbservername nettype hostname servicename options
menlo onipcshm valley menlo
newyork ontlitcp hill dynsrvr2 s=2,b=5120
payroll onsoctcp dewar py1
asia group - - e=asia.3
asia.1 ontlitcp node6 svc8 g=asia
asia.2 onsoctcp node0 svc1 g=asia
portland drsocssl dewar portland_serv

 摘要:
返回当前连接的线程ID。该值可用作gbase_kill()的参量以杀死线程。
 语法:
unsigned long gbase_thread_id(GBASE *gbase);
 参数:
 返回值:



GBase 8a 程序员手册C API 篇
南大通用数据技术股份有限公司

- 49 -
当前连接的线程ID。

Resource Directive(资源指令)指定在资源计划中资源消费组与动态资源池的挂接
关系。