008安全和管理3(管理用户安全性)

数据库用户账户

Oracle是一款多用户的数据库软件。


image.png

image.png

image.png
1、用户:

1.1、查看当前使用的用户:
注意:oracle 10g中,用户名和密码不区分大小写。
oracle 11g中,用户名不区分大小写,但是密码严格区分大小写。

SQL> conn / as sysdba
Connected.
SQL> show user;
USER is "SYS"

1.2、查看当前数据库中存在哪些用户:
备注:Oracle数据库中每个用户名是唯一的。

SQL> select username from dba_users;

USERNAME
------------------------------
LISI
SCOTT
SH
HR
SYSMAN
SYS
SYSTEM

1.3、创建用户语句:

SQL> create user lisi identified by 123456;

User created.

备注:创建用户时可以指定该用户使用的默认表空间和默认临时表空间。
注意:在一个Oracle数据库中,可以同时存在多个用户表空间和临时表空间。在创建用户时就可以指定表空间使用。
1.4、每个用户拥有自己的用户概要文件(用户参数文件):
1、密码使用:用户密码使用多长时间、多长时间密码过期、密码过期时间提醒等
2、资源使用:用户可以使用多少会话资源、可以使用多少服务器资源等
1.5、每个用户都有自己的用户状态:

SQL> select username,account_status from dba_users;

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
LISI                           OPEN
SCOTT                          OPEN
SH                             OPEN
HR                             OPEN
ORACLE_OCM                     EXPIRED & LOCKED
XS$NULL                        EXPIRED & LOCKED
BI                             EXPIRED & LOCKED
PM                             EXPIRED & LOCKED
MDDATA                         EXPIRED & LOCKED
IX                             EXPIRED & LOCKED
DIP                            EXPIRED & LOCKED
expired:当前用户密码过期,如果想要使用该用户,则需要给定新密码。
locked:当前用户被锁定。如果想要使用该用户,则需要解锁该用户。

解锁EXPIRED & LOCKED状态用户语法:
alter user 用户名 identified by 123456 account unlock;

Mysql和Oracle数据库对比:

Mysql数据库:

在Mysql数据库中,存在数据库的概念。

创建数据库:
create database zhangsan;--->创建数据库
无非就是在数据库文件路径中创建对应的zhangsan目录,zhangsan目录中保存什么而已。
创建数据表:
use zhangsan;
create table lisi;--->创建数据表
从数据库的角度来看:
zhangsan数据库包含lisi数据表。
从存储的角度来看:
zhangsan文件夹中存在lisi表的数据文件(lisi.ibd)
总结:在mysql中存在多数据库的概念,多数据库也仅是用户存放数据表,数据表用于存放数据。
关联数据存放在同一个数据库中方便管理。grant all on ku1.* ...
无关数据可以存放在不同数据库中,方便权限管理。grant all on ku2.* ...

Oracle数据库是单数据库设计。没有用户自行创建数据库的概念。

Oracle数据库软件是典型的单数据库软件。
dbca建库:
1、准备参数文件;
2、控制信息;
3、日志信息、数据信息。
手工建库:
1、手工编写参数文件,vim initzhangsan.ora
2、create database zhangsan;
总结:mysql的create database背后对应的就是目录的创建。
Oracle的create database背后对应的是日志文件和表空间文件的创建。

方案(schema):一个用户拥有的数据库对象的集合就叫achema。

dbca建库,创建orcl数据库:
sys用户连接:建表sys1
zhangsan用户连接:建表zs1、zs2
lisi用户连接:建表lisi1、lisi2、lisi3
上述的所有数据表都保存在orcl数据库中。
虽然所有的表都存放在orcl数据库,但在管理时,oracle提出了schema的概念。
例如:一旦存在zhangsan user,Oracle中自动产生zhangsan schema。
zhangsan user创建的表属于zhangsan schema。
schema和user同名。
sys用户操作:
create table u1.t1;--->t1表存在u1 schema中。
create table t1;--->t1表存在sys schema中。
作为普通用户来讲,只能查看到属于自己schema的数据表。


image.png

备注:完整创建用户语句:
create user "MYDBA" profile "default" identified by "123456" default tablespace "users" temporary tablespace "TEMP" account unlock grant "CONNECT" to "MYDBA";

预定义管理账户:
image.png
1、sys和system区别:

sys和system具有很接近的权限,非常大的区别在于sys用户具有sysdba权限。
2、sqlplus本地登录会跳过用户和密码验证。sqlplus user_name/passwd 但凡使用了as sysdba,一定是sys用户登录。
举例:
使用sys用户登录:

[oracle@oracle ~]$ sqlplus / as sysdba

使用system登录,并关库发现无权限:

[oracle@oracle ~]$ sqlplus system/123456

SQL*Plus: Release 11.2.0.3.0 Production on Sat May 22 15:22:56 2021

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate
ORA-01031: insufficient privileges   /权限不足
权限:
image.png

image.png

权限管理分为两类:
系统权限:用户能够执行哪些操作。
对象权限:用户能够对哪些对象操作。
举例一:
1、创建一个lisi用户,没有授权,他没有任何权限:

SQL>create user lisi identified by 123456;

2、使用lisi用户连接数据库,因为没有权限出错:

SQL> conn lisi/123456
ERROR:
ORA-01045: user LISI lacks CREATE SESSION privilege; logon denied


Warning: You are no longer connected to ORACLE.

3、sys用户授权后用lisi用户可以登录数据库:

SQL> grant create session to lisi;

Grant succeeded.

SQL> conn lisi/123456
Connected.

4、创建一张表:

SQL> select * from tab;

no rows selected

SQL> create table wahaha as select * from dba_objects;
create table wahaha as select * from dba_objects
                                     *
ERROR at line 1:
ORA-00942: table or view does not exist

5、给lisi授权一个可以读dba_objects的权限,然后再进行创建表:

SQL> grant select on dba_objects to lisi;

Grant succeeded.
SQL> create table wahaha as select * from dba_objects;
create table wahaha as select * from dba_objects
                                     *
ERROR at line 1:
ORA-01031: insufficient privileges       /权限不足
备注:现在lisi没有创建表的权限,所以不能创建数据表。

6、给lisi用户创建表的权限,然后再创建表:

SQL> conn / as sysdba
Connected.
SQL> grant create table to lisi;

Grant succeeded.

SQL> conn lisi/123456
Connected.
SQL> create table wahaha as select * from dba_objects;
create table wahaha as select * from dba_objects
                                     *
ERROR at line 1:
ORA-01950: no privileges on tablespace 'USERS'    /在users表空间上没有权限。
注意:普通用户使用的表空间,若在创建用户时未指定,则默认使用users表空间存放数据。

用户权限总结:
授权语句:
lisi用户远程连接权限:
grant create session to lisi;
lisi用户查看dba_objects数据字段的权限:
grant select on dba_objects to lisi;
lisi用户建表的权限:
grant create table to lisi;
系统权限:
grant 权限 to 用户;
对象权限:
grant 权限 on 对象 to 用户;
撤销权限:
revoke 权限 from 用户;
授予系统权限的SQL 语法是:
GRANT <system_privilege> TO <grantee clause> [WITH ADMIN
OPTION(管理选项)]
注意:加上WITH ADMIN
OPTION参数,用户就具有给别人授予这个权限的权利。
授予对象权限的SQL 语法是:
GRANT <object_privilege> ON <object> TO <grantee clause>
[WITH GRANT OPTION(授权选项)]
注意:加上WITH GRANT OPTION参数,用户就具有给别人授予这个权限的权利。
举例管理选项(WITH ADMIN
OPTION参数):


image.png

实验测试:通过撤销权限,理解with admin option和with grant option的区别。

with admin option和with grant option的区别:

1、级联授权:
WITH ADMIN OPTION和系统权限相关。
WITH GRANT OPTION和对象权限相关。
两种option都能让指定的用户级联授权。
举例:
1.1、sys用户赋权给lisi:
grant create session to lisi;--->能够连接实例
grant create session to lisi WITH ADMIN OPTION;--->lisi具有create session,并且可以将该权限赋权给其他用户。
1.2、lisi用户赋权给lisi1:
grant create session to lisi1;--->能够连接实例
2、回收权限:
2.1、WITH ADMIN OPTION(系统权限):
拥有WITH ADMIN OPTION的用户如果赋权给其他用户权限,则撤销权限时,仅撤销用户自己权限。
例如:
sys--->赋权给lisi--->lisi赋权给lisi1
sys revoke撤销lisi的系统权限,lisi的系统权限不受影响。


image.png

2.2、WITH GRANT OPTION(对象权限):
拥有WITH GRANT OPTION的用户如果赋权给其他用户权限,则撤销权限时,会发生级联权限撤销。
例如:
sys--->赋权给lisi--->lisi赋权给lisi1
sys revoke撤销lisi的对象权限,lisi1的对象权限失效。


image.png

角色:

角色的优点:

1、简化权限管理:使用角色可简化权限管理。可以将一组权限授予给某个角色,然后将该角色授予给每个用户,而不是将同一组权限授予给多个用户。
2、进行动态权限管理:如果修改了与某个角色关联的权限,则所有被授予该角色的用户都会立即自动获得修改后的权限。
3、有选择地提供权限:通过启用或禁用角色可以暂时打开或关闭权限。这样便可以在指定情形下控制用户的权限。


image.png
预定义角色:
image.png

例如:
grant connect(角色) to lisi;--->给lisi授予connect角色权限。
grant create session(系统权限) to lisi;--->给lisi授予create session系统权限。
注意:给开发人员创建用户,一般给一个connect、resource角色权限即可。

概要文件和用户:
image.png
实施口令安全功能:
image.png

image.png

客户端--->应用服务器--->数据库服务器(中间会有两个密码验证过程)
1、客户端--->应用服务器
1.1、使用的用户系统是应用服务器提供的,而密码的复杂度由应用来限定;
1.2、客户端在注册用户/修改密码时所使用的密码的复杂度由应用来保证;
1.3、如果应用对密码复杂度校验通过,最终应用会向数据库发送update/insert等语句。
2、应用服务器--->数据库服务器
2.1、使用的用户系统是数据库软件提供的。密码的复杂度由数据库软件决定。
2.2、Oracle默认并没有密码校验机制,作为DBA应该保证密码的复杂度。
数据库中运行密码管理脚本:
@?/rdbms/admin/utlpwdmg.sql
脚本运行完成后,会对密码进行复杂度校验。注意:在数据库中创建用户/修改用户密码时,复杂度校验会生效,但是之前已经创建的用户不受影响。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容