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登入又何妨?

posted @   胡.杰  阅读(191)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示