您的位置:首页 > 博客中心 > 数据库 >

[转]Oracle DB 用户

时间:2022-03-10 17:22

? 创建和管理数据库用户帐户: – 验证用户 – 分配默认存储区(表空间)       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;     gxlsystem.com,布布扣       在Enterprise Manager 的“Users(用户)”页中,可以管理能够访问当前数据库的数据库用户的列表。使用此页可创建、删除和修改用户的设置。   要创建数据库用户,请执行以下操作: 1.在Enterprise Manager Database Control 中,单击“Server(服务器)”选项卡,然后在“Security(安全)”部分中单击“Users(用户)”。 2.单击“Create(创建)”按钮。 提供所需的信息。必需项带有星号(*) 标记,如“Name(名称)”。     每一个用户可以分配默认表空间和临时表空间。如果用户在创建对象时未指定表空间,则将在分配给对象所有者的默认表空间中创建对象。这样,便可以控制用户对象的 创建位置。 如果未选择默认表空间,则使用系统定义的默认永久表空间。对于临时表空间也是如此:如果未指定临时表空间,则使用系统定义的临时表空间。     4、验证用户   gxlsystem.com,布布扣 ? 口令 ? 外部验证 ? 全局验证     “验证”是指对要使用数据、资源或应用程序的人员或对象(用户、设备或其它实体)的身份进行验证。通过对该身份进行验证可建立一种信任关系,以进行进一步的交互。通过验证可将访问和操作与特定的身份联系起来,从而增强安全性。完成验证后,授权进程会允许或限制该实体能够执行的访问和操作的级别。 创建用户时,必须确定要使用的验证方法,以后可修改此方法。     口令:又称为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、解除用户帐户的锁定并重置口令     gxlsystem.com,布布扣     在安装和创建数据库的过程中,可以对Oracle 提供的多个数据库用户帐户解除锁定,并对其进行重置。如果在此期间未选择解除对用户帐户的锁定,则可以在“Users(用户)”页上选择用户,从“Actions(操作)”列表中选择“Unlock User(解除用户的锁定)”,然后单击“Go(执行)”,以此解除对用户的锁定。这并不会更改口令。如果在解除对用户的锁定时口令已失效,则在编辑用户并更改口令之前,口令将一直处于失效状态。   或者使用sql语言: sys@TEST0924> alter user bi account unlock;   User altered.     要解除对用户的锁定并重置口令,请在“Edit Users(编辑用户)”页上执行下列步骤:   gxlsystem.com,布布扣   1.在“Enter Password(输入口令)”和“Confirm Password(确认口令)”字段中输入新口令。 2.选中“Unlocked(解除锁定)”复选框。 3.单击“Apply(应用)”,重置口令并解除对用户帐户的锁定。     或者使用sql语言: sys@TEST0924> alter user bi identified by bi account unlock;   User altered.   来源:http://blog.csdn.net/rlhua/article/details/12272827

[转]Oracle DB 用户,布布扣,bubuko.com

热门排行

今日推荐

热门手游