- UID
- 1112
- 阅读权限
- 100
- 帖子
- 42914
- 精华贴数
- 8
- 技术排名
- 26
- 技术积分
- 49197
- 社区排名
- 104
- 社区积分
- 22305
- 注册时间
- 2001-10-15
- 精华贴数
- 8
- 技术积分
- 49197
- 社区积分
- 22305
- 注册时间
- 2001-10-15
- 论坛徽章:
- 184
|
发表于 2003-9-30 10:32:40
|显示全部楼层
前言:文章不是自创,是学习总结篇!
很久以来就想写搞清楚这个规律,但总一直拖的,
最近BITI写了篇LINUX环境下的测试步骤!
有网友就说,WINDOWS环境下测试不成功,本想
解释,但没经测试,不敢妄下结论,碰巧又很忙,
拖到现在,经测试,自己才有个清晰的轮廓!
简单写上几句,解释一下原因!
测试环境 操作系统 WINDOWS2000 SERVER SP2 ORACLE9201
操作步骤
1、修改初始化文件 os_authent_prefix = '',然后重启动数据库!
2、修改注册表!往注册表里添加上此字串值 OSAUTH_PREFIX_DOMAIN = FALSE
3、在数据库里创建一用户NIU
CREATE USER NIU IDENTIFIED EXTERNALLY;
赋予给用户一些权限,如:
GRANT CONNECT TO NIU;
D:\ORACLE\BIN>sqlplus
SQL*Plus: Release 9.2.0.1.0 - Production on Mon Sep 29 10:32:23 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Enter user-name: / as sysdba
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
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
SQL> create user niu identified externally;
User created.
SQL> grant connect to niu;
Grant succeeded.
SQL>
4、创建一操作系统用户NIU
5、以NIU用户登录操作操作系统
6、尝试这样登录 connect /
SQL> connect /
connected
SQL> show user;
USER is "NIU"
SQL>
7、通常情况下,数据库用户登录后,即使没有ALTER USER 的权限,也是可以修改自己密码的,
但若是以此认证方式登录数据库,则不可以(未经确认,只是尝试失败得到的结论,但仔细想
想,这样要求也合理)
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:\Documents and Settings\NIU>D:
D:\>CD ORACLE
D:\oracle>CD BIN
D:\oracle\bin>SQLPLUS
SQL*Plus: Release 9.2.0.1.0 - Production on Mon Sep 29 10:49:23 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> SHOW USER
USER is "NIU"
SQL> ALTER USER NIU IDENTIFIED BY NIU;
ALTER USER NIU IDENTIFIED BY NIU
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL> CONNECT SCOTT/TIGER
Connected.
SQL> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
ALTER SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE CLUSTER
CREATE SYNONYM
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE PROCEDURE
CREATE TRIGGER
PRIVILEGE
----------------------------------------
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE
14 rows selected.
以上信息说明SCOTT用户没有ALTER USER的权限!但
SQL>
SQL> ALTER USER SCOTT IDENTIFIED BY DDD;
User altered.
说明:注册表参数 OSAUTH_PREFIX_DOMAIN = FALSE 是 WINDOWS环境下,能否使用
操作系统认证数据库登录的关键,默认情况下,为TRUE,这造成WIDNOWS环境
下无法使用操作系统认证数据库登录的原因!需要在注册表里加上此参数,
方可使用此方法! |
|