关于Oracle数据库的用户权限问题

在oracle数据库中,有两种登录方式:

1:操作系统验证方式。

2:数据库验证方式。


<1>在oracle数据库中,普通用户默认使用数据库方式验证,即conn yanhao/123456;

<2>在oracle数据库中,对于特权用户(只有sys)来说,默认使用操作系统验证登录(即只要这个用户是在ora_dba组中,则可以通过),比如 conn yanhao/123456 as sysdba ,

dbms一看到这个as sysdba 则认为要以特权用户登录,就不会去管前面的用户名及密码是否正确,以及是否存在或是否为空,就会马上登录,登陆后,切换为sys用户,这里注意不管以什么用户名登录,就算是以system  as sysdba 登录,登陆进去后,也会切换为sys用户;

如果当前用户,不在ora_dba组,这时会使用数据库验证方法;

<3>我们可以通过修改sqlnet.ora 文件,让特权用户登录的时候直接使用数据库验证方式,而不使用操作系统验证方式,这里需要注意:

SQLNET AUTHENTICATION _SERVICES=(NTS)     //这句话的意思是使用操作系统验证方式;

SQLNET AUTHENTICATION _SERVICES=(NONE)   //这句话的意思是使用数据库验证方式,而不会再去使用操作系统验证方式了;

SQLNET AUTHENTICATION _SERVICES=(NONE ,NTS)   //这句话的意思是两种验证方式都使用,但我们不常这样做,一般会选择上面两种的任意一种;



经过自己测试还发现,当特权用户默认使用操作系统验证的时候,所有特权用户以及非特权用户还有不存在的用户都可以使用 as sysdba 登录,登陆后全部会切换为sys用户;

当然了,这也符合操作系统验证方式的特点。


还有这里应当注意几个问题,经过自己测试发现,只要使用as sysdba 登录之后,登录名全部会切换为sys,这也是意料之中的;

这个时候,我们就拥有了oracle的最高权限,当然就可以去创建用户,授权给用户,分配角色给用户了,最后也可以删除用户,这些都经过了自己的测试;

这里应注意在使用system as sysdba登录之后,也会切换为sys用户;

还有,这样登录的时候, conn system/oracle ;登录名却不是sys而是system,这种情况下,我们也可以使用system用户去创建新用户,授权,以及删除用户,只是和sys用户相比,权限小一点,不能去创建数据库,但也算是一个拥有dba权限的管理员了;









  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值