数据库实验九:用户管理和权限管理
一、实验目的与要求:
学习目的:
1.学习理解和体会数据库安全性的内容。
2.加强对数据库管理系统的安全管理功能的认识。
要求:
1.以系统管理员身份
数据库实验九:用户管理和权限管理 一、实验目的与要求: 学习目的: 1.学习理解和体会数据库安全性的内容。 2.加强对数据库管理系统的安全管理功能的认识。 要求: 1.以系统管理员身份完成如下实验: (1)建立3个不同用户名称的注册用户(分别为‘user1’,‘user2’,‘user3’)。 (2)使用ALTER LOGIN命令对建立的注册用户修改密码。 (3)指定’user1’为数据库管理员用户。 2.以数据库管理员身份完成如下实验: (1)根据已有的注册用户建立3个当前数据库的用户。 (2)使用ALTER USER命令修改用户名。 (3)建立1个角色‘role1’,授予该角色查询、修改、插入学生表的权限。 (4)授权‘user2’用户‘role1’角色,不授予‘user3’任何角色,比较‘user2’和‘user3’权限。(如果由(2)改了新的用户名,则以对应的新用户名进行相应工作) (5)取消‘user3’的role1角色。 3.以下实验由若干学生一组共同完成: (1)授予‘user2’和‘user3’建立对象的权限,并各自建立自己的对象(如表和视图等)。 (2)授予‘user2’用户‘学生’表的查询、修改、删除、插入等权限及转授权限,在授权过程中体会GRANT命令中WITH GRANT OPTION短语的作用。再由‘user2’授予‘user3’权限(自己定义)。 (3)分情况收回授权数据库系统安全,并体会REVOKE命令中GRANT OPTION FOR和CASCADE 短语的作用。 二、实验内容 实验原理: 1. 建立注册用户的语句是: CREATE LOGIN login_name {WITH PASSWORD=’password’ [MUST_CHANGE] [, DEFAULT_DATABASE=database] [, CHECK_EXPIRA TION={ON|OFF}]} 2. 修改注册用户的语句是: ALTER LOGIN login_name {{ENABLE | DISABLE} | WITH PASSWORD=’password’ [, OLD_ PASSWORD=’oldpassword’] [, DEFAULT_DATABASE=database] [, NAME = login_name]} 3. 建立数据库用户的语句是: CREATE USER user_name [LOGIN login_name] [WITH DEFAULT_SCHEMA=schema_name] 4. 修改数据库用户的语句是: ALTER USER user_name WITH { NAME = new_user_name | DEFAULT_SCHEMA=schema_name}[,…n]] 5. 建立角色的语句是: CREATE ROLE role_name [AUTHORIZATION owner_name] 6. 为角色指定成员的系统过程是: sp_addrolemember [@rolename=] ‘role’, [@membername=] ’user’7. 创建对象的授权语句是: GRANT { ALL | permission [,…n] } TO principal [,…n] [ WITH GRANT OPTION ] [ AS principal ] 8. 对象操作的授权语句是: GRANT { ALL | permission [(column [,…n])][,…n] } ON securable TO principal [,…n] [WITH GRANT OPTION] [AS principal] 9. 收回授权的语句是: REVOKE [GRANT OPTION FOR] { ALL | permission [(column [,…n])][,…n] } [ ON securable ] FROM principal [,…n] FROM name_list [ CASCADE ] [AS principal ] 10. 禁止权限的语句是: DENY { ALL | permission [(column [,…n])][,…n] } [ ON securable ] FROM principal [,…n] [ CASCADE ] [AS principal ] 实验步骤与结果: (1)调出SQL Server2005软件的用户界面,进入SQL Server Management Studio。 (2)输入自己编好的程序。 (3)检查已输入的程序正确与否。 (4)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。 (5)输出程序清单和运行结果。 程序: create login liu with password='1204030'must_change, check_expiration=on create login ming with password='1204031'must_change, default_database=学生管理, check_expiration=on create login long with password='1204032', default_database=学生管理 alter login liu disable alter login ming with password='1204033', default_database=学生管理 alter login long with name=xiaoqian 三、实验分析与小结: (实验过程中的问题分析、产生的原因以及解决方法;实验结果分析;有待优化思路) 1、实验过程中的问题分析、产生的原因以及解决方法。 在创立一个用户以后,虽然指定了该用户的默认数据库是“仓储订货”,但是该用户没有成为该数据库的正式用户之前,使用还登陆名进行系统登陆的时候将会出错。新的登陆用户起初几乎没有操作数据库的权限权限的授予需由管理员来授予。 四、其它 思考题: 1.如何理解角色管理和用户管理的区别? 答:一个用户ID可以有多个角色,一个角色是由不同的系统权限组成的。比如windows用户和用户组的区别,比如windows中一种角色叫用户,一种角色叫管理员(administrators),我们可以让不同的用户属于不同的角色,这样的话我们只要定义一种角色,就可以让许多用户同时继承这个特性,而不用每一个用户重复建立相同角色权限。 得分(百分制) (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |