[转]Oracle DB 用户

• 建立和管理数据库用户账户:
– 验证用户
– 分配默认存储区(表空间)
 
 
 
一、数据库用户账户
 
 
要访问数据库,用户必须指定有效的数据库用户账户,并且还要根据该用户账户的要求成功经过验证。 每一个数据库用户都有一个惟一的数据库账户
Oracle 建议采用这种作法,从而避免潜在的安全漏洞,并为特定的审计活动提供有意义的数据。可是,有时候若干用户会共享一个公用数据库账户。
在这些罕见的状况下,操做系统和应用程序必须为数据库提供足够的安全性。
 
 
每一个用户账户都包括如下项:
• 惟一的用户名:用户名不能超过30 个字节,不能包含特殊字符,并且必须以字母开头。
 
• 验证方法:最多见的验证方法是口令,可是Oracle Database 11g支持其它多种验证方法,包括生物统计学验证、证书验证和标记验证。
 
• 默认表空间:若是用户未指定其它表空间,则可在这个位置建立对象。
请注意,具备默认表空间并不意味着用户在该表空间具备建立对象的权限,也不意味着用户在该表空间中具备用于建立对象的空间限额。
这两项须要另外单独受权。
 
• 临时表空间:这是实例表明用户建立临时对象(如排序和临时表)的位置。临时表空间没有限额。
 
• 用户概要文件:分配给用户的一组资源与口令的限制。
 
• 初始使用者组:由资源管理器使用。
 
• 账户状态:用户只可访问“开放”账户。account_status多是“锁定”和“失效”的各类组合。
 
注:数据库用户不必定是人员。常见的做法是建立一个拥有特定应用程序的数据库对象的用户,例如HR。数据库用户能够是设备、应用程序或只是一种出于安全目的而对数据库对象进行分组的方法。
数据库用户不须要具备我的身份信息。
 
 
二、预约义账户: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账户是数据库所必需的账户,不能将其删除。
 
 
三、建立用户
 
选择“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(名称)”。
 
 
每个用户能够分配默认表空间和临时表空间。若是用户在建立对象时未指定表空间,则将在分配给对象全部者的默认表空间中建立对象。这样,即可以控制用户对象的
建立位置。
若是未选择默认表空间,则使用系统定义的默认永久表空间。对于临时表空间也是如此:若是未指定临时表空间,则使用系统定义的临时表空间。
 
 
四、验证用户
 
• 口令
• 外部验证
• 全局验证
 
 
“验证”是指对要使用数据、资源或应用程序的人员或对象(用户、设备或其它实体)的身份进行验证。经过对该身份进行验证可创建一种信任关系,以进行进一步的交互。经过验证可将访问和操做与特定的身份联系起来,从而加强安全性。完成验证后,受权进程会容许或限制该实体可以执行的访问和操做的级别。
建立用户时,必须肯定要使用的验证方法,之后可修改此方法。
 
 
口令:又称为Oracle DB 验证。建立的每个用户都有一个关联口令,用户尝试创建链接时,必须提供这个口令。设置口令时,可使该口令当即失效, 这会强制用户在首次登陆后更改口令。若是决定要使用户口令失效,请确保用户可以更改口令。有些应用程序不具有此功能。默认状况下,在Oracle Database 11g中建立的 全部口令都区分大小写。这些口令还能够包含多字节字符,但 长度被限制为30 字节。在更改以前,在升级到Oracle Database 11g的数据库中建立的每一个口令仍然不区分大小写。在网络(客户机/服务器和服务器/服务器)链接期间,系统老是先使用高级加密标准(AES) 算法以自动且透明的方式对口令进行加密,而后再经过网络发送这些口令。
 
数据库验证,使用sql语言以下:
sys@TEST0924> create user aaron identified  by soccer
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 经过全局验证来识别用户。
 
 
 
五、管理员验证
操做系统安全性:
• 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 或目录验证(若是可使用高级安全选件)。
 
 
六、解除用户账户的锁定并重置口令
 
 
 
 
在安装和建立数据库的过程当中,能够对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.
 
来源:http://blog.csdn.net/rlhua/article/details/12272827
相关文章
相关标签/搜索