#操作系统身份认证配置
本文主要介绍如何配置操作系统身份认证,以便数据库管理员更便捷地登录数据库,认证方式相关的详细介绍请查阅用户及认证。
# 开启操作系统认证功能
该功能开关由数据库配置文件yasdb_net.ini中的ENABLE_LOCAL_OSAUTH参数的取值控制。YashanDB安装后,默认ENABLE_LOCAL_OSAUTH = on,即开启操作系统身份认证功能,且yasdb_net.ini文件不会自动生成。
查询$YASDB_DATA/config路径下是否存在yasdb_net.ini文件。
$ echo $YASDB_DATA /data/yashan/yasdb_data/db-1-1 # 本文以/data/yashan/yasdb_data/db-1-1为例 $ cd /data/yashan/yasdb_data/db-1-1/config $ ll
- 如不存在,则说明已开启,无需额外操作。
- 如存在,则需执行后续操作。
查看ENABLE_LOCAL_OSAUTH的值:
$ vi yasdb_net.ini
若ENABLE_LOCAL_OSAUTH值为off,则需修改为on,保存并退出。重启数据库使配置生效。
# 为用户开通操作系统认证
查看是否有YASDBA组,如没有则新建(需由拥有建组权限的用户操作):
$ groups $ groupadd YASDBA
将目标操作系统账号加入YASDBA组(需由拥有建组权限的用户操作):
$ usermod -a -G YASDBA dba1 $ groups dba1 ## 若目标操作系统账号不是安装用户(假设名字是dba1),还需将其加入数据库安装用户的同名用户组(例如yashan)。 $ usermod -a -G yashan dba1 $ groups dba1
Note:
如果目标用户当前已登录,需断开SSH连接重新登录后才能使用操作系统身份认证功能。
验证操作系统身份认证:
$ yasql / as sysdba YashanDB SQL Enterprise Edition Release 23.2.1.100 x86_64 Connected to: YashanDB Server Enterprise Edition Release 23.2.1.100 x86_64 - X86 64bit Linux SQL> SELECT SYS_CONTEXT ( 'USERENV' , 'SESSION_USER' ) FROM DUAL; SYS_CONTEXT('USERENV ---------------------------------------------------------------- SYS
# 取消用户的操作系统认证
方式一:将目标用户从YASDBA组移除,该用户将不再允许操作系统身份认证,立即生效。
方式二:删除YASDBA组,所有用户将不再允许操作系统身份认证,立即生效。
# 关闭操作系统认证功能
查询$YASDB_DATA/config路径下是否存在yasdb_net.ini文件,如不存在则创建:
$ echo $YASDB_DATA /data/yashan/yasdb_data/db-1-1 # 本文以/data/yashan/yasdb_data/db-1-1为例 $ cd /data/yashan/yasdb_data/db-1-1/config $ vi yasdb_net.ini
在yasdb_net.ini文件中新增或修改如下配置:
ENABLE_LOCAL_OSAUTH = off
保存并退出。
重启数据库使配置生效,数据库将不再执行操作系统身份认证。