• Oracle 用户管理


    1. AS SYSDBA就是以系统管理员的身份登录。此时忽略用户名跟密码。就算你SQLPLUS / AS SYSDBA,或者CONN / AS SYSDBA,没有用户名跟密码也是行的。
      例如我新建用户jack,密码jackhub,没有授予任何权限登录oracle。
    SQL> conn jack/jackhub as sysdba
    Connected.
      既然as sysdba连接会忽略用户名跟密码,那么此时连接上的user应该不是jack。
    SQL> show user;
    USER is "SYS"
      可见,实际上是以SYS用户的角色登录的。
    2. 验证方式,以上我们任何user都可以以sysdba的角色登录,好像是没有什么安全验证一样的,实际是配置问题。
      将sqlnet.ora(位于$ORACLE_HOME/NETWORK/ADMIN目录中)中的sqlnet.ora文件中SQLNET.AUTHENTICATION_SERVICES参数决定验证方式。 
      这不是oracle的安全漏洞!!而是认证方式不同,一般对sysdba的管理有两种方式:操作系统认证和密码文件认证。   
      将SQLNET.AUTHENTICATION_SERVICES=   (NTS),即选择了os认证方式。这样数据库的安全性就是基于操作系统的安全性之上的。既然用connect internal可以登入系统,那用connect XXXXX/XXXX as sysdba登入又何妨?

  • 相关阅读:
    前端 HTML CSS
    前端部分1:HTML
    异常处理专区:
    IO模型介绍
    协程专区
    线程专区
    操作系统简介专区
    进程专区
    正则表达式专区:
    题解 P2158 【[SDOI2008]仪仗队】
  • 原文地址:https://www.cnblogs.com/jackhub/p/3205436.html
Copyright © 2020-2023  润新知