有关用户外部认证的问题

来源:互联网 发布:网络共享打印机设置 编辑:程序博客网 时间:2024/04/28 02:33

一、关于普通用户的外部认证

与普通用户外部认证的两个参数:os_authent_prefix和remote_os_authent

os_authent_prefix设置在创建外部用户时的前缀,默认值为:ops$,即当os用户为hp时,我们可以在数据库上创建外部用户为ops$hp

create user ops$hp identified externally;

remote_os_authent:设置是否允许操作系统认证,如果其值为false,则外部认证的用户不能登录数据库。要使用外部认证的话需要把其值设置为true。

使用外部用户登录数据库:sqlplus /或者conn /

二、关于特权用户的外部认证

要使用特权用户的外部认证,需要满足两个条件

1、$oracle_home/network/admin/sqlnet.ota中

  sqlnet.authentication_services=(nts)

2、操作系统用户在dba组中(windows系统上,os用户需要在ora_dba组中)

--特权用户的外部认证不受参数remote_os_authent设置的影响,也不受remote_login_passwordfile设置的影响,只要以上两个条件满足,就可以使用sqlplus / as sysdba或者conn / as sysdba登录。

--要想取消特权用户的外部认证,只要修改以上两项其一即可。比如  sqlnet.authentication_services=(none)或者把os用户从dba组移出。

--取消特权用户的外部认证之后,特权用户登录数据库需要使用密码文件。

 

三、关于密码文件

  密码文件针对特权用户。

  当取消特权用户的外部认证之后,特权用户登录数据库需要使用密码文件。

  1、创建密码文件

    $>orapwd file=$ORACLE_HOME/DBS/PWD$ORACLE_SID.ORA password=pass_word entries=10 ignorecase=n

  说明:file:文件的路径和名称

           password:特权用户的密码

           entries:密码文件允许保存特权用户的数量

           ignorecase:是否验证密码大小,当设置为n时,为验证。

  2、设置参数remote_login_passwordfile

    该参数的取值:none:设置为none时,表示不使用密码文件。当取消特权用户的外部认证,又不使用密码文件时,特权用户无法登陆数据库。

                          exclusive:每一个实例使用一个单独的密码文件。当设置为exclusive时,密码文件不仅保存sys用户,而且只要把sysdba或者sysoper授予其他用户,这些用户

                                         也将保存在密码文件中,这些用户可以使用密码文件登录数据库。

                         shared:数据库中的实例共享这个密码文件。当设置为shared时,oracle将不会往密码文件中写入其他用户信息,而只保存sys用户。

  3、查询v$pwfile_users,该视图显示密码文件中保存的用户信息

 

 

以上仅是本人的一家之言,不知是否正确,如有错误,望指正!