zoukankan      html  css  js  c++  java
  • Oracle DB 用户

    • 创建和管理数据库用户帐户:
    – 验证用户
    – 分配默认存储区(表空间)
     
    1、数据库用户帐户
     
    要访问数据库,用户必须指定有效的数据库用户帐户,而且还要根据该用户帐户的要求成功通过验证。每个数据库用户都有一个唯一的数据库帐户
    Oracle 建议采用这种做法,从而避免潜在的安全漏洞,并为特定的审计活动提供有意义的数据。但是,有时候若干用户会共享一个公用数据库帐户。
    在这些罕见的情况下,操作系统和应用程序必须为数据库提供足够的安全性。
     
    每个用户帐户都包括以下项:
    • 唯一的用户名:用户名不能超过30 个字节,不能包含特殊字符,而且必须以字母开头。
    • 验证方法:最常见的验证方法是口令,但是Oracle Database 11g支持其它多种验证方法,包括生物统计学验证、证书验证和标记验证。
    • 默认表空间:如果用户未指定其它表空间,则可在这个位置创建对象。
    请注意,具有默认表空间并不意味着用户在该表空间具有创建对象的权限,也不意味着用户在该表空间中具有用于创建对象的空间限额。
    这两项需要另外单独授权。
    • 临时表空间:这是实例代表用户创建临时对象(如排序和临时表)的位置。临时表空间没有限额。
    • 用户概要文件:分配给用户的一组资源与口令的限制。
    • 初始使用者组:由资源管理器使用。
    • 帐户状态:用户只可访问“开放”帐户。account_status可能是“锁定”和“失效”的各种组合。
    注:数据库用户不一定是人员。常见的作法是创建一个拥有特定应用程序的数据库对象的用户,例如HR。数据库用户可以是设备、应用程序或只是一种出于安全目的而对数据库对象进行分组的方法。
    数据库用户不需要具有个人身份信息。
     
    2、预定义帐户:SYS和SYSTEM
    • SYS帐户:
    – 被授予了DBA 角色
    – 具有ADMIN OPTION的所有权限
    – 执行启动、关闭和某些维护命令时需要使用的帐户
    – 拥有数据字典
    – 拥有自动工作量资料档案库(AWR:Automatic Workload Repository)
    • SYSTEM帐户被授予DBA 角色。
    • 不在例行操作(routine operations)中使用这两个帐户。
     
    默认情况下,SYS和SYSTEM帐户被授予了数据库管理员(DBA) 角色。
    此外,SYS帐户还具有ADMIN OPTION的所有权限,而且拥有数据字典。
    要连接到SYS帐户,对于数据库实例,必须使用AS SYSDBA子句,对于Automatic Storage Management (ASM) 实例,必须使用AS SYSASM子句。
    被授予了SYSDBA权限的任何用户均可通过使用AS SYSDBA子句连接到SYS帐户。只有被授予了SYSDBA、SYSOPER或SYSASM权限的“授权”用户才能启动或关闭实例。
    默认情况下,SYSTEM帐户被授予了DBA角色,而不是SYSDBA权限。
    最佳方案提示:如果应用最少权限原则,则不在例行操作中使用这些帐户。需要DBA 权限的用户具有被授予了所需权限的独立帐户。例如,Jim 有一个名为jim的低权限帐户及一个名为jim_dba的授权帐户。使用此方法可应用最少权限原则,不需要共享帐户,而且可审计各项操作。
    SYS和SYSTEM帐户是数据库所必需的帐户,不能将其删除。
     
    3、创建用户
    选择“Server > Users(服务器> 用户)”,然后单击“Create(创建)”按钮。
    也可以简单实用sql来创建用户:create user test identified by test account unlock;
     
     
    在Enterprise Manager 的“Users(用户)”页中,可以管理能够访问当前数据库的数据库用户的列表。使用此页可创建、删除和修改用户的设置。
     
    要创建数据库用户,请执行以下操作:
    1.在Enterprise Manager Database Control 中,单击“Server(服务器)”选项卡,然后在“Security(安全)”部分中单击“Users(用户)”。
    2.单击“Create(创建)”按钮。
    提供所需的信息。必需项带有星号(*) 标记,如“Name(名称)”。
     
    每一个用户可以分配默认表空间和临时表空间。如果用户在创建对象时未指定表空间,则将在分配给对象所有者的默认表空间中创建对象。这样,便可以控制用户对象的
    创建位置。
    如果未选择默认表空间,则使用系统定义的默认永久表空间。对于临时表空间也是如此:如果未指定临时表空间,则使用系统定义的临时表空间。
     
    4、验证用户
     
    • 口令
    • 外部验证
    • 全局验证
     
    “验证”是指对要使用数据、资源或应用程序的人员或对象(用户、设备或其它实体)的身份进行验证。通过对该身份进行验证可建立一种信任关系,以进行进一步的交互。通过验证可将访问和操作与特定的身份联系起来,从而增强安全性。完成验证后,授权进程会允许或限制该实体能够执行的访问和操作的级别。
    创建用户时,必须确定要使用的验证方法,以后可修改此方法。
     
    口令:又称为Oracle DB 验证。创建的每一个用户都有一个关联口令,用户尝试建立连接时,必须提供这个口令。设置口令时,可以使该口令立即失效,这会强制用户在首次登录后更改口令。如果决定要使用户口令失效,请确保用户能够更改口令。有些应用程序不具备此功能。默认情况下,在Oracle Database 11g中创建的所有口令都区分大小写。这些口令还可以包含多字节字符,但长度被限制为30 字节。在更改之前,在升级到Oracle Database 11g的数据库中创建的每个口令仍然不区分大小写。在网络(客户机/服务器和服务器/服务器)连接期间,系统总是先使用高级加密标准(AES) 算法以自动且透明的方式对口令进行加密,然后再通过网络发送这些口令。
     
    数据库验证,使用sql语言如下:
    sys@TEST0924> create user aaron identified bysoccer
    2 default tablespace users
    3 temporary tablespace temp
    4 account unlock
    5 /
    User created.
     
    外部验证:这是使用数据库外部的方法(操作系统、Kerberos 或Radius)执行的验证。Kerberos或Radius 需要使用高级安全选件。用户可以在不指定用户名或口令的情况下连接到Oracle DB。借助于执行严格验证的高级安全选件,系统可以通过使用生物统计学、x509 证书和标记设备来识别用户。使用外部验证时,数据库依赖基础操作系统、网络验证服务或外部验证服务来限制对数据库帐户的访问。对于此类登录不会使用数据库口令。
     
    如果操作系统或网络服务允许的话,可以使用外部验证来验证用户。如果使用操作系统验证,请设置OS_AUTHENT_PREFIX初始化参数,并在Oracle 用户名中使用前缀。OS_AUTHENT_PREFIX参数定义了一个前缀,Oracle DB 会在每个用户的操作系统帐户名之前添加此前缀。为了实现与Oracle 软件早期版本的向后兼容,此参数的默认值为OPS$。
     
    sys@TEST0924> show parameter OS_AUTHENT_PREFIX
    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    os_authent_prefix string ops$
     
    用户尝试建立连接时,Oracle DB 会将带前缀的用户名与数据库中的Oracle 用户名进行比较。例如,假定OS_AUTHENT_PREFIX设置如下:
    OS_AUTHENT_PREFIX=OPS$ ,如果某个用户的操作系统帐户名为tsmith,该用户需要连接到Oracle DB 并且已由操作系统进行验证,则Oracle DB 会检查是否存在对应的数据库用户OPS$tsmith,如果存在这样的用户,则允许该用户建立连接。在对用户(操作系统已对其进行了验证)的所有引用中必须包含OPS$tsmith中显示的前缀。
    注:在某些操作系统中,OS_AUTHENT_PREFIX初始化参数的文本是区分大小写的。
     
    操作系统验证,使用SQL语言如下:
    sys@TEST0924> create user aaron1 identified externally
    2 default tablespace users
    3 temporary tablespace temp
    4 account unlock
    5 /
    User created.
     
    全局验证:使用Oracle 高级安全选件时,可使用Oracle Internet Directory 通过全局验证来识别用户。
     
    5、管理员验证
    操作系统安全性:
    • DBA 必须具有创建或删除文件的操作系统权限。
    • 普通数据库用户不应具有创建或删除数据库文件的操作系统权限。
     
    管理员安全性:
    • 对于SYSDBA、SYSOPER和SYSASM连接:
    – 使用口令文件和严格验证方法时,按名称审计DBA 用户
    – 使用操作系统验证时,审计操作系统帐户名
    – 对于授权用户,操作系统验证优先于口令文件验证
    – 口令文件使用区分大小写的口令
     
    操作系统安全性:在UNIX 和Linux 中,DBA 默认情况下属于install操作系统组,该组具有创建和删除数据库文件所需的权限。
    管理员安全性:只有在使用口令文件或操作系统权限进行验证后,才允许授权用户SYSDBA、SYSOPER和SYSASM建立连接。
    如果使用操作系统验证,则数据库不使用提供的用户名和口令。
     
    当口令文件不存在,或者该文件中不存在提供的用户名和口令,或者未提供用户名和口令时,将使用操作系统验证。
    默认情况下,Oracle Database 11g中的口令文件使用区分大小写的口令。
     
    但是,如果使用口令文件成功完成了验证,则使用用户名记录连接。如果使用操作系统成功完成了验证,则表示这是一个CONNECT /连接,这种连接不记录具体用户。
    注:操作系统验证优先于口令文件验证。具体说来,如果您是操作系统中的OSDBA或OSOPER组的成员,而且以SYSDBA、SYSOPER或SYSASM身份进行连接,则会使用关联的管理权限为你建立连接,不管你指定的用户名和口令是什么。
    在Oracle Database 11g中,授权用户可以使用严格验证方法:Kerberos、SSL 或目录验证(如果可以使用高级安全选件)。
     
    6、解除用户帐户的锁定并重置口令
     
     
    在安装和创建数据库的过程中,可以对Oracle 提供的多个数据库用户帐户解除锁定,并对其进行重置。如果在此期间未选择解除对用户帐户的锁定,则可以在“Users(用户)”页上选择用户,从“Actions(操作)”列表中选择“Unlock User(解除用户的锁定)”,然后单击“Go(执行)”,以此解除对用户的锁定。这并不会更改口令。如果在解除对用户的锁定时口令已失效,则在编辑用户并更改口令之前,口令将一直处于失效状态。
     
    或者使用sql语言:
    sys@TEST0924> alter user bi account unlock;
    User altered.
     
    要解除对用户的锁定并重置口令,请在“Edit Users(编辑用户)”页上执行下列步骤:
     
    1.在“Enter Password(输入口令)”和“Confirm Password(确认口令)”字段中输入新口令。
    2.选中“Unlocked(解除锁定)”复选框。
    3.单击“Apply(应用)”,重置口令并解除对用户帐户的锁定。
     
    或者使用sql语言:
    sys@TEST0924> alter user bi identified by bi account unlock;
    User altered.
  • 相关阅读:
    Owner Useful links
    根据ENumerator 进行数组排序输出(枚举)
    对数组当中内容进行倒叙
    一月十日练习习题,1数组数据存入字典并输出2降序 和倒叙 输出数组中内容3对字符串当中信息进行查找是否存在4 把数组当中信息按照中文排序
    OC中超级无敌排序方法,降序 升序 自定义降序升序
    倒序以及降序输出数组当中的成员信息
    iOS 5 数组转换成字典形式并且排序,然后删除指定字典让中的内容
    基本数据类型的相互转换 int float NSinteger double 的相互转化
    OC字符串相加,结果按照字符串形式输出
    将整形整数转化为数组的形式分别依次存到数组当中,然后倒叙输出、把原本字符串倒序输出。截取字符串等等
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317107.html
Copyright © 2011-2022 走看看