zoukankan      html  css  js  c++  java
  • Oracle身份验证的方式 大风起

    Oracle 身份验证方式有如下几种:

    • 操作系统身份验证
    • 口令文件验证
    • 口令身份验证
    • 外部身份验证
    • 全局身份验证

      前两项技术仅供管理员使用,最后一项技术要求使用 LDAP 目录服务器。LDAP 目录服务器是 Oracle Internet Directory(OID),作为 Oracle 应用服务器的一部分发布。

     1. 操作系统和口令文件身份验证

          要为账户启用操作系统和口令身份验证(二者是相配的),必须为用户授予 SYSDBA 或者 SYSOPER 权限:

          GRANT [ sysdba  | sysoper ]  TO username ;

          如果向用户授予这些权限之一或者所有权限,则会将用户口令从数据字典复制到外部口令文件中,此时,即使数据库未处于打开状态,实例也可以读取口令。

          要使用口令文件身份验证,用户可以在使用 SQL*Plus 时通过以下语法连接:

          CONNECT username / password @db_alias ] AS [ SYSOPER | SYSDBA ] ;

          注意,可使用口令文件身份验证,通过 Oracle Net 连接到远程数据库。

          要使用操作系统身份验证,用户必须被确认为有权限访问 Oracle 二进制文件的操作系统用户之后,且在使用 SQL*Plus 时通过以下语法连接之前首先登陆到数据库服务器:

          CONNECT / AS [ SYSOPER | SYSDBA ] ;

          与 SYSDBA 和 SYSOPER 以同一种方式运行的第三种权限是 SYSSAM,此权限仅适用于 ASM 实例。

      2. 口令身份验证

          在使用 SQL*Plus 时,通过口令身份验证进行连接的语法如下:

          CONNECT username / password [ @db_alias ]

          这是 Oracle 一般用户使用得最多的一种身份验证方式。在使用口令身份验证进行连接时,实例将针对在数据字典中的用户账户存储的口令。验证给定的口令。为此,数据库必须处于打开状态;从逻辑上讲,在使用口令身份验证连接时,不可能发出 STARTUP 命令或者 SHUTDOWN 命令。不允许 SYS 用户以口令身份验证的方式进行连接,SYS 只能使用口令文件、操作系统或LDAP 身份验证。

      3. 外部身份验证 

          如果使用外部身份验证创建用户账户,Oracle 会将身份验证委托给外部服务。它不会提示输入口令。如果为启用 Advaned Security 选项,则唯一可以使用得外部身份验证方形式是操作系统身份验证。如前所述,这是 SYSDBA 和 SYSOPER 账户的要求,但也可以用于普通用户。此技术使用与操作系统用户账户同样的名称创建 Oracle 用户账户,但在前面加料OS_AUTHENT_PREFIX 实例参数指定的字符串。此参数默认为 OPS$ 字符串。可以用下列语句查询:

     1. 操作系统和口令文件身份验证

          要为账户启用操作系统和口令身份验证(二者是相配的),必须为用户授予 SYSDBA 或者 SYSOPER 权限:

          GRANT [ sysdba  | sysoper ]  TO username ;

          如果向用户授予这些权限之一或者所有权限,则会将用户口令从数据字典复制到外部口令文件中,此时,即使数据库未处于打开状态,实例也可以读取口令。

          要使用口令文件身份验证,用户可以在使用 SQL*Plus 时通过以下语法连接:

          CONNECT username / password @db_alias ] AS [ SYSOPER | SYSDBA ] ;

          注意,可使用口令文件身份验证,通过 Oracle Net 连接到远程数据库。

          要使用操作系统身份验证,用户必须被确认为有权限访问 Oracle 二进制文件的操作系统用户之后,且在使用 SQL*Plus 时通过以下语法连接之前首先登陆到数据库服务器:

          CONNECT / AS [ SYSOPER | SYSDBA ] ;

          与 SYSDBA 和 SYSOPER 以同一种方式运行的第三种权限是 SYSSAM,此权限仅适用于 ASM 实例。

      2. 口令身份验证

          在使用 SQL*Plus 时,通过口令身份验证进行连接的语法如下:

          CONNECT username / password [ @db_alias ]

          这是 Oracle 一般用户使用得最多的一种身份验证方式。在使用口令身份验证进行连接时,实例将针对在数据字典中的用户账户存储的口令。验证给定的口令。为此,数据库必须处于打开状态;从逻辑上讲,在使用口令身份验证连接时,不可能发出 STARTUP 命令或者 SHUTDOWN 命令。不允许 SYS 用户以口令身份验证的方式进行连接,SYS 只能使用口令文件、操作系统或LDAP 身份验证。

      3. 外部身份验证 

          如果使用外部身份验证创建用户账户,Oracle 会将身份验证委托给外部服务。它不会提示输入口令。如果为启用 Advaned Security 选项,则唯一可以使用得外部身份验证方形式是操作系统身份验证。如前所述,这是 SYSDBA 和 SYSOPER 账户的要求,但也可以用于普通用户。此技术使用与操作系统用户账户同样的名称创建 Oracle 用户账户,但在前面加料OS_AUTHENT_PREFIX 实例参数指定的字符串。此参数默认为 OPS$ 字符串。可以用下列语句查询:

     1. 操作系统和口令文件身份验证

          要为账户启用操作系统和口令身份验证(二者是相配的),必须为用户授予 SYSDBA 或者 SYSOPER 权限:

          GRANT [ sysdba  | sysoper ]  TO username ;

          如果向用户授予这些权限之一或者所有权限,则会将用户口令从数据字典复制到外部口令文件中,此时,即使数据库未处于打开状态,实例也可以读取口令。

          要使用口令文件身份验证,用户可以在使用 SQL*Plus 时通过以下语法连接:

          CONNECT username / password @db_alias ] AS [ SYSOPER | SYSDBA ] ;

          注意,可使用口令文件身份验证,通过 Oracle Net 连接到远程数据库。

          要使用操作系统身份验证,用户必须被确认为有权限访问 Oracle 二进制文件的操作系统用户之后,且在使用 SQL*Plus 时通过以下语法连接之前首先登陆到数据库服务器:

          CONNECT / AS [ SYSOPER | SYSDBA ] ;

          与 SYSDBA 和 SYSOPER 以同一种方式运行的第三种权限是 SYSSAM,此权限仅适用于 ASM 实例。

      2. 口令身份验证

          在使用 SQL*Plus 时,通过口令身份验证进行连接的语法如下:

          CONNECT username / password [ @db_alias ]

          这是 Oracle 一般用户使用得最多的一种身份验证方式。在使用口令身份验证进行连接时,实例将针对在数据字典中的用户账户存储的口令。验证给定的口令。为此,数据库必须处于打开状态;从逻辑上讲,在使用口令身份验证连接时,不可能发出 STARTUP 命令或者 SHUTDOWN 命令。不允许 SYS 用户以口令身份验证的方式进行连接,SYS 只能使用口令文件、操作系统或LDAP 身份验证。

      3. 外部身份验证 

          如果使用外部身份验证创建用户账户,Oracle 会将身份验证委托给外部服务。它不会提示输入口令。如果为启用 Advaned Security 选项,则唯一可以使用得外部身份验证方形式是操作系统身份验证。如前所述,这是 SYSDBA 和 SYSOPER 账户的要求,但也可以用于普通用户。此技术使用与操作系统用户账户同样的名称创建 Oracle 用户账户,但在前面加料OS_AUTHENT_PREFIX 实例参数指定的字符串。此参数默认为 OPS$ 字符串。可以用下列语句查询:

     1. 操作系统和口令文件身份验证

          要为账户启用操作系统和口令身份验证(二者是相配的),必须为用户授予 SYSDBA 或者 SYSOPER 权限:

          GRANT [ sysdba  | sysoper ]  TO username ;

          如果向用户授予这些权限之一或者所有权限,则会将用户口令从数据字典复制到外部口令文件中,此时,即使数据库未处于打开状态,实例也可以读取口令。

          要使用口令文件身份验证,用户可以在使用 SQL*Plus 时通过以下语法连接:

          CONNECT username / password @db_alias ] AS [ SYSOPER | SYSDBA ] ;

          注意,可使用口令文件身份验证,通过 Oracle Net 连接到远程数据库。

          要使用操作系统身份验证,用户必须被确认为有权限访问 Oracle 二进制文件的操作系统用户之后,且在使用 SQL*Plus 时通过以下语法连接之前首先登陆到数据库服务器:

          CONNECT / AS [ SYSOPER | SYSDBA ] ;

          与 SYSDBA 和 SYSOPER 以同一种方式运行的第三种权限是 SYSSAM,此权限仅适用于 ASM 实例。

      2. 口令身份验证

          在使用 SQL*Plus 时,通过口令身份验证进行连接的语法如下:

          CONNECT username / password [ @db_alias ]

          这是 Oracle 一般用户使用得最多的一种身份验证方式。在使用口令身份验证进行连接时,实例将针对在数据字典中的用户账户存储的口令。验证给定的口令。为此,数据库必须处于打开状态;从逻辑上讲,在使用口令身份验证连接时,不可能发出 STARTUP 命令或者 SHUTDOWN 命令。不允许 SYS 用户以口令身份验证的方式进行连接,SYS 只能使用口令文件、操作系统或LDAP 身份验证。

      3. 外部身份验证 

          如果使用外部身份验证创建用户账户,Oracle 会将身份验证委托给外部服务。它不会提示输入口令。如果为启用 Advaned Security 选项,则唯一可以使用得外部身份验证方形式是操作系统身份验证。如前所述,这是 SYSDBA 和 SYSOPER 账户的要求,但也可以用于普通用户。此技术使用与操作系统用户账户同样的名称创建 Oracle 用户账户,但在前面加料OS_AUTHENT_PREFIX 实例参数指定的字符串。此参数默认为 OPS$ 字符串。可以用下列语句查询:

     1. 操作系统和口令文件身份验证

          要为账户启用操作系统和口令身份验证(二者是相配的),必须为用户授予 SYSDBA 或者 SYSOPER 权限:

          GRANT [ sysdba  | sysoper ]  TO username ;

          如果向用户授予这些权限之一或者所有权限,则会将用户口令从数据字典复制到外部口令文件中,此时,即使数据库未处于打开状态,实例也可以读取口令。

          要使用口令文件身份验证,用户可以在使用 SQL*Plus 时通过以下语法连接:

          CONNECT username / password @db_alias ] AS [ SYSOPER | SYSDBA ] ;

          注意,可使用口令文件身份验证,通过 Oracle Net 连接到远程数据库。

          要使用操作系统身份验证,用户必须被确认为有权限访问 Oracle 二进制文件的操作系统用户之后,且在使用 SQL*Plus 时通过以下语法连接之前首先登陆到数据库服务器:

          CONNECT / AS [ SYSOPER | SYSDBA ] ;

          与 SYSDBA 和 SYSOPER 以同一种方式运行的第三种权限是 SYSSAM,此权限仅适用于 ASM 实例。

      2. 口令身份验证

          在使用 SQL*Plus 时,通过口令身份验证进行连接的语法如下:

          CONNECT username / password [ @db_alias ]

          这是 Oracle 一般用户使用得最多的一种身份验证方式。在使用口令身份验证进行连接时,实例将针对在数据字典中的用户账户存储的口令。验证给定的口令。为此,数据库必须处于打开状态;从逻辑上讲,在使用口令身份验证连接时,不可能发出 STARTUP 命令或者 SHUTDOWN 命令。不允许 SYS 用户以口令身份验证的方式进行连接,SYS 只能使用口令文件、操作系统或LDAP 身份验证。

      3. 外部身份验证 

          如果使用外部身份验证创建用户账户,Oracle 会将身份验证委托给外部服务。它不会提示输入口令。如果为启用 Advaned Security 选项,则唯一可以使用得外部身份验证方形式是操作系统身份验证。如前所述,这是 SYSDBA 和 SYSOPER 账户的要求,但也可以用于普通用户。此技术使用与操作系统用户账户同样的名称创建 Oracle 用户账户,但在前面加料OS_AUTHENT_PREFIX 实例参数指定的字符串。此参数默认为 OPS$ 字符串。

     4. 全局身份验证

          一个用于管理身份的新兴标准时使用 LDAP 服务器。Oracle Internet Directory(OID) 就是 Oracle 符合 LDAP 标准的一个产品,全局用户就是在 LDAP 目录中定义的用户。

      5. 跟身份验证相关的几个参数和配置

          查看是否允许远程登录使用口令文件进行身份验证,有三个取值: SHARED/EXCLUSIVE/NONE,为 NONE 的话表示不允许远程使用口令文件验证

    show parameter remote_login_passwordfile
     alter system set remote_login_passwordfile='NONE' scope=spfile
    startup force
      查看使用口令文件进行身份验证的用户列表:
    select * from v$pwfile_users

     $ORACLE_HOME/network/admin/sqlnet.ora 配置文件中 SQLNET.AUTHENTICATION_SERVICES 参数,有三个取值:

    • NONE:作用是不允许通过 OS 系统用户登录数据库,需要提供用户名及密码;
    • ALL:作用是允许所有的登录方式;
    • NTS:作用是允许本地操作系统用户认证
  • 相关阅读:
    SGU 271 Book Pile (双端队列)
    POJ 3110 Jenny's First Exam (贪心)
    HDU 4310 Hero (贪心)
    ZOJ 2132 The Most Frequent Number (贪心)
    POJ 3388 Japanese Puzzle (二分)
    UVaLive 4628 Jack's socks (贪心)
    POJ 2433 Landscaping (贪心)
    CodeForces 946D Timetable (DP)
    Android Studio教程从入门到精通
    Android Tips – 填坑手册
  • 原文地址:https://www.cnblogs.com/Haihong72H/p/11253828.html
Copyright © 2011-2022 走看看