在数据库管理中一定本着一个原则就是权限最小化的原则,如果有需要在赋予相应的权限
公司主营业务:成都网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出金水免费做网站回馈大家。
数据库管理员日常对于用户的管理任务如下:
– 创建新用户
– 删除用户
– 删除表
– 备份表
1、创建用户yuri,并设置密码为password。
create user yuri identified by password;
2、用户创建之后, DBA 会赋予用户一些系统权限
以应用程序开发者为例, 一般具有下列系统权限:
- create session
-create table
-create sequence
-create view
-create procedure
例如:赋予用于yuri如下权限
grant create session, create table, create sequence, create view to yuri;
二、角色的作用
角色的目的是定义了一个有哪些权限的角色,并把用户指定为这个角色。方便统一管理
1、创建角色
create role mang;
2、赋予角色权限
grant create table, create view to mang;
3、将角色授予用户
grant mang to yuri
DBA 可以创建用户和修改密码。
用户自己可以使用 ALTER USER 语句修改密码。
4、将yuri用户的密码改为1q2w3e
alter user yuri identified by 1q2w3e;
对象权限
对象权限 | Table | View | Sequence |
ALTER | |||
DELETE | |||
INDEX | |||
INSERT | |||
REFERENCES | |||
SELECT | |||
UPDATE |
不同的对象具有不同的对象权限
对象的拥有者拥有所有权限
对象的拥有者可以向外分配权限
语法:
grant object_priv [(columns)] on object to {user|role|public} [with grant option];
1、赋予查询employees表的权限给yuri用户
grant select on employees to yuri;
授予指定的列给yuri用户和mang角色,更新department_name和location_id的权限
grant update (department_name, location_id) on departments to yuri, mang;
WITH GRANT OPTION 和 和 PUBLIC 关键字
WITH GRANT OPTION 使用户同样具有分配权限的权利
grant select, insert on departments to demo with grant option;
向数据库中所有用户分配权限
grant select on alice.departments to public;
确认授予的权限
数据字典视图 | 描述 |
ROLE_SYS_PRIVS | 角色拥有的系统权限 |
ROLE_TAB_PRIVS | 角色拥有的对象权限 |
USER_ROLE_PRIVS | 用户拥有的角色 |
USER_SYS_PRIVS | 用户拥有的系统权限 |
USER_TAB_PRIVS_MADE | 用户分配的关于表对象权限 |
USER_TAB_PRIVS_RECD | 用户拥有的关于表对象权限 |
USER_COL_PRIVS_MADE | 用户分配的关于列的对象权限 |
USER_COL_PRIVS_RECD | 用户拥有的关于列的对象权限 |
撤销对象权限
使用 REVOKE 语句撤销权限
使用 WITH GRANT OPTION 子句所分配的权限同样被收回
语法:
revoke {privilege [, privilege...]|all} on object from {user[, user...]|role|public} [cascade constraints];
1、撤销授予给 yuri 用户 employees 表的 SELECT 和 INSERT 权限。
revoke select ,instert on employees from yuri;