oracle 管理用户安全

数据库用户和方案

l 方案就是属于某一用户的所有对象的集合 .
l 用户名和方案名往往是通用的 .
l 一个用户只能关联一个方案 .
l 创建用户时系统会自动创建一个同名方案

预定义帐户: SYS 和 SYSTEM

l SYS 帐户 ( 数据库拥有者 ):
拥有 DBA 权限
拥有 ADMIN OPTION  的所有权限
拥有 startup, shutdown, 以及若干维护命令
拥有数据字典
l SYSTEM 帐户拥有 DBA 权限 .
l 这些帐户并非用于常规操作

验证用户

密码验证方式(用户名/密码)
外部验证方式(主机认证)默认是主机认证 sqlplus  / as sysdba   这个验证失败了 才用密码
全局验证方式(其他方式:生物认证方式、token方式

管理员验证

l 操作系统安全 :
DBA 必须拥有创建和删除文件的操作系统权限
普通数据库用户不应具有拥有创建和删除文件的操作系统权限
l 管理员安全 :
SYSBA SYSOPER 通过密码文件或操作系统实现连接审定 .
密码文件使用名称鉴别 DBA 用户 .
OS 验证并不记录特定用户 .
对于 SYSDBA   SYSOPER  来说 OS 验证优先于密码文件认证 .

锁定与解锁

管理员登录
1. sqlplus sys/你的密码 as sysdba
2. sqlplus / as sysdba
SQL>

解锁
SQL>alter user scott account unlock;

改密码>
SQL>alter user scott identified by 新密码;

权限


l 用户权限有两种 :
System: 允许用户执行对于数据库的特定行为,例如:创建表、创建用户等
Object: 允许用户访问和操作一个特定的对象,例如:对其他方案下的表的查询


SQL> host cls

SQL> conn / as sysdba
已连接。
SQL> show user
USER 为 "SYS"
SQL> --创建名叫 itcast0909 密码是password 的用户
SQL> create user itcast0909 identified by password;

用户已创建。

SQL> --create session 系统权限
SQL> grant create session to itcast0909;

授权成功。

SQL> --create table
SQL> grant create table to itcast0909;

授权成功。

SQL> --分配空间
SQL> alter user itcast0909 quota unlimited on users;

用户已更改。

SQL> host cls

SQL> --admin option 系统权限 不会级联
SQL> show user
USER 为 "SYS"
SQL> create user jeff identified by password;

用户已创建。

SQL> create user emi identified by password;

用户已创建。

SQL> --DBA --> create session --> jeff
SQL> grant create session to jeff with admin option;

授权成功。

SQL> --jeff   create session --> emi
SQL> conn jeff/password
已连接。
SQL> grant create session to emi;

授权成功。

SQL> --撤销
SQL> conn / as sysdba
已连接。
SQL> revoke create session from jeff;

撤销成功。

SQL> host cls

SQL> --GRANT OPTION   撤销对象权限会产生级联
SQL> show user
USER 为 "SYS"
SQL> conn scott/tiger
已连接。
SQL> --scott  select on emp ---> jeff
SQL> grant select on emp to jeff with grant option;

授权成功。

SQL> --jeff:  select on scott.emp   --> emi
SQL> conn jeff/password
已连接。
SQL> grant select on scott.emp to emi;

授权成功。

SQL> --撤销
SQL> 
SQL> conn scott/tiger
已连接。
SQL> revoke select on emp from jeff;

撤销成功。

SQL> host cls

角色的优点

易于权限管理
动态权限管理
选择有效的权限

SQL> conn / as sysdba

SQL> --创建经理角色
SQL> create role hr_mgr;

角色已创建。

SQL> --创建普通员工
SQL> create role hr_clerk;

角色已创建。

SQL> --两个权限  create session,  create table
SQL> grant create session to hr_clerk;

授权成功。

SQL> grant create table,hr_clerk  to hr_mgr;

授权成功。

SQL> --grant connect,resouce to scott;connect,resouce系统定义好的角色
SQL> /*
SQL> create user ****
SQL>  grant connect,resouce to ***;
SQL> */
SQL> spool off

概要文件和用户

每个用户只能被关联到一个概要文件.
概要文件:
控制资源消费
管理帐户状态和密码有效期


可以创建概要文件em管理 profile

提供密码验证方法: VERIFY_FUNCTION

l 提供密码验证的方法可以强制密码约束
最短四个字符长度
密码不可以和用户名一样
密码必须至少一个数字,一个字符,一个其他符号
密码必须和上一个密码有三个以上字符不一样
l 提示 : 可以使用这个函数作为自己创建密码验证的函数的模版 .
l < oracle_home >/ rdbms /admin/ utlpwdmg.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现用户管理员登录后进入不同界面,你可以按照以下步骤进行操作: 1. 创建登录界面:设计一个登录界面,包括用户名和密码的输入框以及登录按钮。 2. 实现登录功能:在登录按钮的点击事件中,获取输入的用户名和密码。使用QSqlQuery类执行查询语句,检查输入的用户名和密码是否与数据库中的记录匹配。根据登录成功与否,判断用户管理员还是普通用户。 3. 创建用户界面和管理员界面:分别设计用户界面和管理员界面,根据实际需求设置布局和功能。 4. 跳转到对应界面:在登录成功后,根据用户的角色(管理员或普通用户),使用Qt的界面切换机制(如QStackedWidget)或者自定义窗口切换逻辑,切换到对应的界面。 例如,你可以创建一个MainWindow类作为主窗口,其中包含用户界面(UserWidget)和管理员界面(AdminWidget)。在MainWindow的构造函数中,初始化登录界面(LoginWidget),并连接登录按钮的点击事件到槽函数。 在登录按钮的槽函数中,根据输入的用户名和密码查询数据库,并判断用户角色。如果是管理员,则切换到管理员界面;如果是普通用户,则切换到用户界面。 在管理员界面和用户界面中,你可以根据需要添加各种功能和布局,例如显示用户信息、管理用户、进行相关操作等。 需要注意的是,在实际应用中,还需要进行用户权限验证和安全性处理,以确保只有合法的管理员才能访问管理员界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值