温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Ora_Security -1创建和管理数据库用户

发布时间:2020-05-14 20:36:06 来源:网络 阅读:409 作者:PengChonggui 栏目:数据库

一、用户账户属性

 

1、用户名

(字母、数字 $  _)组成,字符数小于30个。不能为保留字。字母不区分大小写。用户名一经创建,不允许修改。如果必须更改它,必须先删除账户,再创建一个。

注:双引号中指定用户名,不遵循执行规则(长度除外)

SQL>create user  peenboo identified bypassword;

SQL>create user "peenboo#%" identified by pa55w0rd;

 

 

2、默认表空间和配额

2.1 每个用户账户都有默认表空间。用户创建的任何模式对象(如表或视图等)将保存在此表空间中。除非在创建对象的时候指定另一个表空间,否则将被放在默认表空间中。

可以在创建数据库时设置默认表空间,也可以通过以下语法进行更改:

 

ALTERDATABASE DEFAULT TABLESAPCE  tablespacename;

 

注:如何创建数据库时没有指定默认表空间,则将SYSTEM设置为默认表空间。

 

 

2.2 配额(quota)是表空间中为用户的模式对象分配的空间量。

 

SQL>select username,DEFAULT_TABLESPACE,temporary_tablespace from dba_users

           where username='PEENBOO';

 

SQL>alter user peenboo quota 10m on users;

 

SQL>alter user peenboo quota unlimited  onexample;

 

SQL>select tablespace_name ,bytes, max_bytes from dba_ts_quotas;

 

 

临时表空间(temporary tablespace

 临时表空间的管理完全自动完成。临时表空间中的对象并不归用户真正拥有,而是属于SYS用户,SYS用户拥有所有表空间上的无限配额。

更改用户的临时表空间:

ALTERUSER username temporary tablespace tablespace_name;

 

配置文件

配置文件是管理口令和资源的有效方法,但实际上只适用于每个应用程序都有自己的数据库用户账户的环境。

 

5、账户状态

通过 DBA_USERS ACCOUNT_STATUS可以看到每个用户账户的状态。

OPEN  --打开(可用状态)

LOCKED --锁定DBA故意锁定,任何用户无法连接到该账户)

EXPIRED --过期(表示口令的生命周期已经终结)

EXPIRED&LOCKED--不仅被锁定,而且其口令已经过期

EXPIRED(GRACE) --"正常时间段生效",口令在生命周期结束时并立即过期,可以配置一个正常时间段,此间可以修改口令。

LOCKED(TIMED) --由于登录尝试失败,账户已被锁定

EXPIRED&LOCKED(TIMED) --过期且超时锁定

EXPIRED(GRACE)&LOCKED --正常过期且锁定

EXPIRED(GRACE)&LOCKEDTIMED --正常过期且超时锁定

 

--锁定和解锁的语法如下:

ALTERUSER username ACCOUNT LOCK;

ALTERUSER username ACCOUNT UNLOCK;

 

--强制用户下次尝试登录时更改口令:

ALTERUSER username PASSWORD EXPIRE;

 

 

 

二、身份验证方法

 

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

要为账户进行操作系统和口令文件身份验证,必须为用户授权(SYSDBA or SYSOPER)权限:

GRANT  [sysdba | sysoper]  To  username;

 

使用sqlplus进行登录时,语法连接如下:

CONNECT username/password [@db_alias]  AS  [ sysdba | sysoper]

 

注:要确定为谁授予了SYSDBASYSOPER权限,可以通过V$PWFILE_USERS进行查询。

必须对所有用户会话进行身份验证。不存在“匿名登录”的说法。

 

2、口令身份验证

SQL> CONNECT  username/password [@db_alias]

 

无论更改自己还是其他人的口令,语法都为:

ALTER USER usernameIDENTIFIED BY  password;

 

 

3、外部身份验证

在取得AdvancedSecurity 认证,可以使用外部服务Kerberos服务器RADIUS服务器或Windows环境中的Windows本地省份验证服务。

如果未启用AdvancedSecurity详细,则唯一可以使用的外部身份验证是操作系统身份验证。此项技术使用与操作系统用户账户同样的名称创建ORACLE账户,但前面加上了OS_AUTHENT_PREFIX实例参数指定的字符串。字符串默认为OPS$。也可通过以下方式查询:

SQL>select  value from v$parameter where name = 'os_authent_prefix';

 

 

若在linuxUnix上,更为简单,如用户名为peenboo

SQL>create user ops$peenboo identified by externally;

SQL>grant create session to ops$peenboo;

 

SQL>sqlplus   /

 

 

4、全局身份认证global  authentication

使用LDAP服务器,全局用户(global user)是在LDAP 目录中定义的用户。

有两种全局身份认证技术:

可以在目录,也可以在数据库中定义用户。

只能在目录中定义用户。

 

 

三、创建账户

1   CREATE USER 必须包含两个必需参数:用户名和身份验证方法。

SQL>createuser scott identified by tiger

Default  tablespace user temporary tablespace temp

Quota100m on users, quota unlimited on example

Profiledeveloper_profile

Password  expire

Accountunlock;

 

除了名称以外,可以通过ALTER USER 命令调整账户上的每个属性。

1)修改口令

  SQL> alter user scott identified by lion;

 

 2)修改默认表空间和临时表空间

  SQL> alter user scott default tablespacetbs_peenboo temporary tablespace  pbtemp;

 

 3)修改配额

  SQL> alter user scott quato unlimited ontbs_peenboo, quato 0 on users;

 

 4)修改配置文件

  SQL>alter user scott profile  prod_profile;

 

  5)强制更改口令

  SQL > alter user scoot password expire;

 

   6)锁定用户

  SQL> alter user scott account lock;

 

    7)已经创建用户,需要删除重建

  SQL> drop user scott;

 

    8)用户为非空用户,需要以下命令:

  SQL> drop user scott cascade;

 

 

PUBLIC用户,是一个概念用户,如果要将权限授予每个用户,可将权限授予PUBLIC用户。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI