#配置操作系统认证

本文主要介绍如何配置操作系统认证,以便数据库管理员更便捷地登录数据库。

# 开启操作系统认证功能

该功能开关由数据库配置文件yasdb_net.ini中的ENABLE_LOCAL_OSAUTH参数的取值控制。YashanDB安装后,默认ENABLE_LOCAL_OSAUTH = on,即开启操作系统认证功能,且yasdb_net.ini文件不会自动生成。

  1. 查询$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
    
    • 如不存在,则说明已开启,无需额外操作。
    • 如存在,则需执行后续操作。
  2. 查看ENABLE_LOCAL_OSAUTH的值:

    $ vi yasdb_net.ini    
    

    若ENABLE_LOCAL_OSAUTH值为off,则需修改为on,保存并退出。重启数据库使配置生效。

# 为用户开通操作系统认证

当需要为某个数据库管理员开启操作系统认证时,请基于以下几方面考量是否为其增加认证许可:

  • 该管理员是否应该拥有数据库管理的全部权限,若是,则允许为其开通操作系统认证。

  • 该管理员是否已有数据库服务器的操作系统帐号,若没有,则需向操作系统管理员申请创建。

# 前提条件

  • 已开启操作系统认证功能。

  • 向操作系统管理员申请将目标操作系统用户加入YASDBA用户组(通常在YashanDB安装的准备工作中已创建)和数据库安装用户的同名用户组(例如yashan)。

  • 如需为非安装用户配置操作系统认证,需确保DATA目录的权限值不低于750(默认为750)。

# 操作步骤

  1. 查看是否存在YASDBA组,如没有则新建(需由拥有建组权限的用户操作):

    $ groups
    $ groupadd YASDBA
    
  2. 将目标操作系统帐号加入YASDBA组(需由拥有建组权限的用户操作):

    $ usermod -a -G YASDBA dba1
    $ groups dba1
    
    ## 若目标操作系统帐号不是安装用户,还需将其加入数据库安装用户的同名用户组(例如yashan)
    $ usermod -a -G yashan dba1
    $ groups dba1
    

    Note:

    如果目标用户当前已登录,需断开SSH连接重新登录后才能使用操作系统认证功能。

  3. 验证操作系统认证:

    $ yasql / as sysdba
    
    YashanDB SQL Enterprise Edition Release {version_number} x86_64
    
    Connected to:
    YashanDB Server Enterprise Edition Release {version_number} x86_64 - Linux
    
    SQL> SELECT SYS_CONTEXT ( 'USERENV' , 'SESSION_USER' ) FROM DUAL;
    
    SYS_CONTEXT('USERENV                                             
    ---------------------------------------------------------------- 
    SYS      
    

# 取消用户的操作系统认证

当某个用户不再被允许使用操作系统认证时,应及时进行取消。

  • 方式一:将目标用户从YASDBA组移除,该用户将不再允许操作系统认证,立即生效。

  • 方式二:删除YASDBA组,所有用户将不再允许操作系统认证,立即生效。

# 关闭操作系统认证功能

Caution:

yasom仲裁选主yasboot巡检(yasboot patrol)等功能均需依赖于操作系统认证,关闭操作系统认证功能后会导致相应功能不可用,请谨慎操作。

将数据库配置文件yasdb_net.ini中的ENABLE_LOCAL_OSAUTH参数值置为off,即关闭使用操作系统身份进行认证的方式,所有的数据库登录请求必须使用密码认证。

  1. 查询$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
    
  2. 在yasdb_net.ini文件中新增或修改如下配置:

    ENABLE_LOCAL_OSAUTH = off
    
  3. 保存并退出。

  4. 重启数据库使配置生效,数据库将不再执行操作系统认证。

edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流