windows下实现操作系统认证

最近自学Oracle,看到一个参数

os_authent_prefix 看一下官方解释

PropertyDescription
Parameter typeString
SyntaxOS_AUTHENT_PREFIX = authentication_prefix
Default valueOPS$
ModifiableNo


OS_AUTHENT_PREFIX 为Oracle 使用给想要连接服务器的用户授权的前缀。  Oracle 会把这个参数的值加在操作系统用户的名字和密码前面。 

When a connection request is attempted, Oracle compares the prefixed username with Oracle usernames in the database.

当一个连接试图建立,oracle会去比较加上前缀的操作系统用户名和数据库中的用户名是否一致。

The default value of this parameter is OPS$ for backward compatibility with previous versions. However, you might prefer to set the prefix value to "" (a null string), thereby eliminating the addition of any prefix to operating system account names.

该参数的默认值为OPS$,但是可以修改为“”,这样就可以使操作系统用户名和数据库用户名一致而不需要前缀。

下面看一下如何使用这个参数来完成操作系统验证:

(1)操作系统WINDOWS XP SP3

ORACLE VERSION:10.2.0.1

 首先:在注册表【HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\Key_OraDb10g_home1】添加此字串值 OSAUTH_PREFIX_DOMAIN = FALSE(值)

(2)SQLNET.ORA中

         设置:SQLNET.AUTHENTICATION_SERVICES= (NTS)

(3) 初始化参数os_authent_prefix     修改为""

  

SQL> alter system set os_authent_prefix='' scope=spfile;

系统已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  608174080 bytes
Fixed Size                  1250404 bytes
Variable Size             155192220 bytes
Database Buffers          444596224 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。


(4)以ADMINISTRATOR登陆WINDOWS XP
SQL> connect sys/admin as sysdba
已连接。
创建数据库用户:
SQL> show parameter os_authent_prefix

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
os_authent_prefix                    string
SQL> create user dylan identified externally;

用户已创建。

SQL> grant connect, resource to dylan;

授权成功。

(5)创建操作系统用户dylan。

(6)切换用户到dylan,打开cmd输入以下命令查看效果:

C:\Documents and Settings\Administrator>sqlplus /

SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 8月 19 22:04:01 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> show user
USER 为 "DYLAN"

(7)通常情况下,数据库用户登录后,即使没有ALTER USER 的权限,也是可以修改自己密码的,
   但若是以此认证方式登录数据库,则不可以(未经确认,只是尝试失败得到的结论,但仔细想
   想,这样要求也合理)。

SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 8月 19 22:22:10 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> show user
USER 为 "DYLAN"
SQL> alter user dylan identified by dylan;
alter user dylan identified by dylan
*
第 1 行出现错误:
ORA-01031: 权限不足


SQL> conn scott/tiger
已连接。
SQL> alter user scott identified by tiger;

用户已更改。

SQL> select * from session_privs;

PRIVILEGE
----------------------------------------
CREATE SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE CLUSTER
CREATE SEQUENCE
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE

已选择10行。


说明:注册表参数 OSAUTH_PREFIX_DOMAIN = FALSE 是 WINDOWS环境下,能否使用
      操作系统认证数据库登录的关键,默认情况下,为TRUE,这造成WIDNOWS环境
      下无法使用操作系统认证数据库登录的原因!需要在注册表里加上此参数,
      方可使用此方法!

--------------------------------------------------

made by dylan


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值