基于Windows平台的OS认证

  
        OS 验证指的是Oracle数据库不再自行检查请求用户的合法性,而是将此过程委托给用户所在的操作系统,由操作系统代理完成用户合法性的检查工作。对于采用此种认证机制的用户在连接数据库时无需输入用户名和密码即可登录。
        Windows 平台下的用户OS认证配置基本上分成两大类型:
一、 配置以sysdba角色登陆的用户
[1] 确保SQLNET.AUTHENTICATION_SERVICES=(NTS)
附加:此参数位于$ORACLE_HOME/network/admin下的sqlnet.ora文件中,若允许远程用户以OS认
证形式登录数据库(即由远程用户所使用的操作系统负责验证),则须将SPFILE<目标数据库名>.ORA参数文件中的remote_os_authent参数值改为TRUE,可如下修改此参数值:alter system set remote_os_authent=TRUE scope=spfile;若不允许则修改remote_os_authent=false即可
[2] 以系统管理员身份登录系统后创建一个组,组名为:ORA_DBA,然后再创建一个用户,最后将此用户添加进此组中
[3] 注销后以ORACLE_SID组中的任意一用户登录操作系统
附加:对于系统管理员[2]与[3]步系统已为我们实现,对于非管理员身份的用户才需自己实现
[4] 发送连接请求,如:SQL>conn / as sysdba;即可成功连接上目标数据库
附加:目标数据库由注册表中的ORACLE_SID(HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMEO)值指定,并且此种连接都是以sys用户登录数据库的,所以对此种配置一定要慎重
 
二、 配置以普通角色登陆的用户
[1] 确保SQLNET.AUTHENTICATION_SERVICES=(NTS)
附加:注意事项同上
[2] 查看注册表中参数OSAUTH_PREFIX_DOMAIN和数据库中属性os_authent_prefix值
查看 OSAUTH_PREFIX_DOMAIN参数: HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMEO
查看 OS_AUTHENT_PREFIX 参数命令:SQL>SHOW PARAMETER OS;(以sysdba角色登陆数据库查看)
SQL> show parameter os;
NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj             integer     100
os_authent_prefix                    string
os_roles                             boolean     FALSE
remote_os_authent                    boolean     TRUE
remote_os_roles                      boolean     FALSE
timed_os_statistics                  integer     0
[3] 创建数据库用户
SQL>CREATE USER 用户名 IDENTIFIED EXTERNALLY
用名取名规则:[<OPS$>][<DOMAIN_NAME>/]<USER_NAME>
<DOMAIN_NAME> 仅当OSAUTH_PREFIX_DOMAIN(默认为TRUE)为TRUE时才需要,其值一般为计算机名
<OPS$> 通过OS_AUTHENT_PREFIX参数指定
如:SQL>CREATE USER “82BDAAAECC81499/DORA” IDENTIFIED EXTERNALLY;(注意用户名大写)
[4] 创建一个与数据库同名的操作系统用户(即用户名等同于<USER_NAME>值)
[5] 注销后以新创建的用户登录,然后C:/Documents and Settings/dora.82BDAAAECC81499>sqlplus / 后即可顺利连接上由ORACLE_SID指定的数据库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值