禁止以操作系统认证方式登录数据库 _MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2082 | 回复: 0   主题: 禁止以操作系统认证方式登录数据库         下一篇 
xuefeng
注册用户
等级:上士
经验:315
发帖:69
精华:0
注册:2011-8-17
状态:离线
发送短消息息给xuefeng 加好友    发送短消息息给xuefeng 发消息
发表于: IP:您无权察看 2015-6-25 11:00:54 | [全部帖] [楼主帖] 楼主

操作系统认证方式登录数据库的含义是:只要是以oracle用户登录的用户都可以使用“sqlplus / as sysdba”方式连接到数据库中。出于安全的考虑,我们可能需要禁用这个特性。当然,如果以操作系统认证方式无法顺利登录,也可以通过在这个方法来排查故障问题。

1.以操作系统认证方式登录数据库的方法
1)最基本的方法就是使用“sqlplus / as sysdba”登录数据库

[oracle@secdb admin]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Dec 26 21:00:10 2010
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
SQL>


斜杠“/”左面是用户名,右面是密码,这里表示不给出用户名和密码一样可以登录到数据库系统中。

2)使用正确的用户名和密码登陆数据库

[oracle@secdb admin]$ sqlplus sys/oracle as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Dec 26 21:00:52 2010
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
SQL>


显然,登录完全没有问题。

3)使用错误的用户名和密码登陆数据库

[oracle@secdb admin]$ sqlplus sys_1/oracle_1 as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Dec 26 21:01:07 2010
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
SQL>


这种操作系统认证方式登录数据库,即使使用的是错误的用户名和密码依然可以顺利的登录到数据库中。

2.禁用操作系统认证方式登录数据库
禁用的方法很简单,仅需在sqlnet.ora配置文件中添加一条“SQLNET.AUTHENTICATION_SERVICES=(NONE)”即可。

调整sqlnet.ora文件内容。

[oracle@secdb ~]$ vi $ORACLE_HOME/network/admin/sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES=(NONE)


3.验证是否生效
1)必须使用正确的用户名和密码才能登陆到系统中

[oracle@secdb admin]$ sqlplus sys/oracle as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Dec 26 21:58:29 2010
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
SQL>


2)使用正确的用户名和错误的密码进行登录测试

[oracle@secdb admin]$ sqlplus sys/oracle_1 as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Dec 26 21:59:14 2010
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
ERROR:
ORA-01017: invalid username/password; logon denied
Enter user-name:


提示无效的用户名和密码,无法完成登录!

3)使用“sqlplus / as sysdba”登录方式进行验证

[oracle@secdb admin]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Dec 26 21:58:05 2010
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name:


此处显示权限不足,不允许登录!

4.进一步提高系统的安全性
因为sqlnet.ora文件默认条件下oracle用户可以对其进行任意修改,我们可以通过调整sqlnet.ora文件的owner和权限的方式进一步提高系统的安全性。

1)默认条件下sqlnet.ora文件的权限和owner信息

[oracle@secdb admin]$ ls -l sqlnet.ora
-rw-r--r-- 1 oracle oinstall 266 Dec 26 21:00 sqlnet.ora


2)调整sqlnet.ora文件的owner和权限信息

[root@secdb admin]# chown root:root sqlnet.ora
[root@secdb admin]# chmod 744 sqlnet.ora
[root@secdb admin]# ls -l sqlnet.ora
-rwxr--r-- 1 root root 266 Dec 26 21:00 sqlnet.ora


调整之后,oracle用户将再无权限对sqlnet.ora文件进行调整。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论