Oracle数据库安全(一)用户管理
一、预定义用户
用户管理是Oracle数据库管理的核心和基础。
在创建Oracle数据库时,系统预定义创建的用户根据作用不同又可以分为以下3类
管理员用户
实例方案用户
内置用户
此外Oracle数据库还包含两个特殊的用户scott和PUBLIC。
1.用户属性
用户的安全属性包括以下几个:
(1)用户名:在同一个数据库中,用户名必须是唯一的,并且用户名不能与角色名相同。
(2)用户身份认证:当用户连接数据库时,必须经过身份认证,因此创建用户时必须制定用户的身份认证方式。
(3)默认表空间
(4)临时表空间
(5)表空间配额
(6)概要文件:每个用户必须具有一个概要文件,从会话级和调用级两个层次限制用户对数据库系统资源的使用,同时设置用户的口令管理策略。
(7)设置用户的默认角色:通过设置用户的默认角色,可以禁用或激活用户所具有的角色。
(8)账户状态:在创建用户的同时,可以设定用户的初始状态,包括口令是否过期以及账户是否锁定等。
2.创建用户
(1)语法
CREATE USER user1 IDENTIFITED [BY password]|
[EXTERNALLY [AS 'certificate_DN|kerberos_principal_name']]|
[GLOBALLY AS 'directory_DN']|
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace|tablespace_group_name]
[QUOTA n K|M|UNLIMITED ON tablespace]
[PROFILE profile]
[PASSWORD EXPIRE]
[ACCOUNT LOCK|UNLOCK];
(2)实例
创建一个用户user1,采用数据库身份认证,口令为user1pwd,默认表空间为users,在该表空间的配额为10MB,在TBS1表空间上的配额为20MB ,默认临时表空间为TEMP,初始状态为不锁定
create user user1 identified by user1pwd
default tablespace users
temporary tablespace temp
quota 10M on users
quota 20M on tbs1
account unlock;
3.用户身份认证
当用户连接数据库时,必须经过身份认证。Oracle提供了数据库身份认证、外部身份认证以及全局身份认证3种身份认证方法。
(1)数据库身份认证:数据库身份认真是指数据库的用户名与口令都保存在数据库的内部,且口令以加密方式存储。
为了保证数据库身份认证的安全性,Oracle建议采用概要文件加强口令的管理,包括账户锁定,口令有效期,口令过期,及口令复杂度校验
主要的优点有:
所有的用户账户及认证都由数据库自身控制,不需要依赖数据库之外的任何东西
Oracle提供了强大的口令管理特性,进一步加强了安全性
当数据库用户量较少时,数据库身份认证管理比较方便。
(2)外部身份认证:外部身份认证是指用户的账户由Oracle数据库管理,但口令管理和身份验证由外部服务来完成。
创建一个采用操作系统神风认证额非数据库管理员用户
如果采用客户端操作系统认证,需要将数据库的初始化参数REMOTE_OS_AUTHENT设置为true,并关闭数据库重新启动。该参数默认为FALSE,即只能支持数据库服务器本地操作认证
确保网络配置文件sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES=(NTS).
查询初始化参数,确保值为OPS$
SQL> show parameter os_authent_prefix; NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
os_authent_prefix string OPS$
创建一个操作系统用户,如sunfengdong,隶属于adminstrators用户组
在数据库中创建一个名为OPS$SFD\sunfengdong的数据库用户,并授予权限
(3)全局身份认证:是采用Oracle数据库的高级安全组件,利用LDAP目录服务器集中管理用户信息,包括用户的身份认证。
4.修改用户
将用户user口令修改为user1,用时将该用户锁定
alter user user1 identified by user1 account lock;
5.删除用户
drop user cascade;
如果用户存在数据库对象,则必须使用cascade,先删除模式,再删除用户。
Oracle数据库安全(一)用户管理的更多相关文章
- oracle 学习笔记--用户管理
oracle 用户管理 创建用户(需要具有dba权限的用户) create user 用户名 identified by 密码 defaule tablespace users //默认表空间 ...
- Oracle DB 执行用户管理的备份和恢复
• 说明用户管理的备份和恢复与服务器管理的备份和恢复 之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理 ...
- oracle工具 sqlplus 用户管理
可以通过system用户对普通用户解锁.alter user scott account unlock; 工具:1/ sqlplusw sqlplus 自带.调用oracle安装目录下bin目录下的e ...
- oracle数据库之用户管理
转载 Oracle创建用户.角色.授权.建表 一.oracle数据库的权限系统分为系统权限与对象权限: 系统权限( database system privilege )可以让用户执行特定的命令集 ...
- Oracle基础和用户管理
1.数据库的使用: 项目的规模:负载量(用户)有多大? 成本: 安全性: (小型数据库)access.forbase 负载小 :100人以内,比如留言板,信息管理系统. 成本:千元以内. 安全性要 ...
- Oracle 数据库基本操作——用户管理与文件管理
目录: 1.初始状态 2.登录数据库 3.创建表空间 1)概念 2) 基本表空间 3)表空间管理 4.创建新用户 5.删除用户 6.用户的授权 1)定义 2)授予权限的方法 3)权限分类 4)授权注意 ...
- Oracle笔记之用户管理
1. 创建用户 创建用户使用create user语句,需要DBA权限: CREATE USER tom IDENTIFIED BY mot; 2. 更改用户密码 修改别人的密码需要DBA权限,或者a ...
- oracle系列(二)用户管理
SQL> conn /as sysdbaConnected to Oracle Database 11g Express Edition Release 11.2.0.2.0 Connected ...
- oracle数据库一些用户管理语句
查询所有数据库用户 select * from dba_users 查看数据库名称 select name from v$database 查看权限 select * from user_sys_pr ...
- Oracle 23的用户管理
创建用户的语法格式 Create user <user_name> Identified by<password> Default tabespace<default t ...
随机推荐
- Python中3元运算符的实现
这是今天在温习lambda表达式的时候想到的问题,众所周知C系列语言中的 三元运算符(?:)是一个非常好用的语句, 关于C中的三元运算符表达式1?表达式2:表达式3 那么在python应该如何实现呢, ...
- 再谈Unity调用Android的Activity
这段时间在研究Unity4.3开发环境下.怎样调用由Android SDK4.4.2写的Activity.參考了非常多网上的博客.百度出了几十篇大部分都是转载雨松MOMO的,这里必须向雨松MOMO表示 ...
- flask渲染模板
Flask自身使用了jinja2模板,可以使用render_template()方法来渲染模板,只需要将模板名和关键字的参数传入. 该渲染模板的模块(views.py)会在 templates 文件夹 ...
- js 数组求和,多种方法,并比较性能
可以借用下面12种方法对数组求和,创建一个长度为10w的数组,进行测试 every() 检测数值元素的每个元素是否都符合条件. filter() 检测数值元素,并返回符合条件所有 ...
- 龙灵:特邀国内第一讲师“玄魂” 在线培训黑客神器Kali Linux
如何成长为黑客.白帽子.网络工程师.渗透工程师? 国内这类型精英人才,大部分都是自学成才.他们成长的路上充满艰辛,还有更为漫长的学习过程.当然,幸运儿以外的大部分爱好者,被知识门槛 ...
- iOS App 审核被拒的原因搜罗
本文转载至 http://ju.outofmemory.cn/entry/108500 iOS app 审核 1.程序有重大bug,程序不能启动,或者中途退出. 2.绕过苹果的付费渠道,我们之前游 ...
- 桥梁模式(Bridge)
桥梁模式属于结构类的设计模式,示意结构图如下:
- ssh框架搭建出现的问题和解决
[说明]今天尝试从头开始搭建ssh 框架, 真心是有点不太容易,可能是第一次吧,之前都是小打小闹. 一:今日完成 搭建 Spring 环境 --> 然后搭建 Hibernate 环境 --> ...
- ArcGIS Runtime SDK for iOS开发系列教程(5)——要素信息的绘制
在客户端绘制点.线.面要素是GIS应用的基本功能,这一讲我将向大家介绍在iOS中如何来实现这一功能.大家都知道在Flex.Silverlight.js中对于要素的绘制都有一个叫GraphicsLaye ...
- iOS 错误提示
1.CUICatalog: Invalid asset name supplied: , or invalid scale factor: 2.000000 =>原因: You are call ...