oracle 关闭操作系统认证登陆数据库

操作系统认证方式登录数据库的含义是:只要是以oracle用户登录的用户都可以使用“sqlplus / as sysdba”方式连接到数据库中。

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

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

2)使用正确的用户名和密码登陆数据库
[oracle@secdb admin]$ sqlplus sys/oracle as sysdba

登录没有问题。

3)使用错误的用户名和密码登陆数据库
[oracle@secdb admin]$ sqlplus sys_1/oracle_1 as sysdba

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

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

2)使用正确的用户名和错误的密码进行登录测试
[oracle@secdb admin]$ sqlplus sys/oracle_1 as sysdba

ORA-01017: invalid username/password; logon denied
Enter user-name:

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

3)使用“sqlplus / as sysdba”登录方式进行验证
[oracle@secdb admin]$ sqlplus / as sysdba
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文件进行调整。

5.小结
操作系统认证方式连接数据库是默认行为,这种方法给我们管理数据库带来了极大的便利。在得到便捷操作的同时带来的是安全上的问题,权衡利弊,做出最后的选择。

请使用浏览器的分享功能分享到微信等