掌握創(chuàng)建數(shù)據(jù)庫用戶的方法掌握用戶權(quán)限的分配與回收_第1頁
掌握創(chuàng)建數(shù)據(jù)庫用戶的方法掌握用戶權(quán)限的分配與回收_第2頁
掌握創(chuàng)建數(shù)據(jù)庫用戶的方法掌握用戶權(quán)限的分配與回收_第3頁
掌握創(chuàng)建數(shù)據(jù)庫用戶的方法掌握用戶權(quán)限的分配與回收_第4頁
掌握創(chuàng)建數(shù)據(jù)庫用戶的方法掌握用戶權(quán)限的分配與回收_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)原理實驗報告一、實驗目的 1. 理解數(shù)據(jù)庫的安全機制。 2. 掌握創(chuàng)建數(shù)據(jù)庫用戶的方法。 3. 掌握用戶權(quán)限的分配與回收。 4. 掌握使用角色實現(xiàn)數(shù)據(jù)庫安全性的方法。二、實驗內(nèi)容 1、數(shù)據(jù)庫用戶的添加 2、用戶權(quán)限的分配與回收 3、角色的創(chuàng)建與管理 說明:PostgreSQL 權(quán)限分為兩部分,一部分是“系統(tǒng)權(quán)限”或者數(shù)據(jù)庫用戶的屬性;一部分為數(shù)據(jù)庫對象上的操作權(quán)限。PostgreSQL 中用戶都以角色的方式進行管理,角色都以“組角色”的方式進行管理。用戶和角色的區(qū)別是角色沒有 login 權(quán)限。 三、實驗步驟 1.創(chuàng)建之前實驗中使用的數(shù)據(jù)表(Student, Course, SC)或

2、者(Employee、Salary, Department)。 代碼:CREATE TABLE Employee_1511630117( EmployeeID CHAR(6) NOT NULL PRIMARY KEY, Name CHAR(10) NOT NULL, Birthday Date NOT NULL, Sex Bit(1)NOT NULL, Address CHAR(20) , Zip CHAR(6) , PhoneNumber CHAR(12) , EmailAddress CHAR(30) , DepartmentID CHAR(3)NOT NULL, FOREIGN KEY(

3、DepartmentID ) REFERENCES departments_1511630117(DepartmentID) )CREATE TABLE Departments_1511630117( DepartmentID CHAR(3) NOT NULL PRIMARY KEY, DepartmentName CHAR(20)NOT NULL, Note CHAR(16) )CREATE TABLE Salary_1511630117(EmployeeID Char(6) NOT NULL,FOREIGN KEY(EmployeeID)REFERENCES Employee_151163

4、0117(EmployeeID),Income Float(8) NOT NULL,OutCome Float(8) NOT NULL)2. 創(chuàng)建新用戶 create user user_1511630117 password 'xbs5417' (a) 查看對象瀏覽器中“登錄角色”里面會出現(xiàn)剛剛創(chuàng)建的新用戶(需要刷新)。 (b)點擊剛剛創(chuàng)建的用戶,查看左側(cè)窗口中出現(xiàn)的用戶的屬性,注意該用戶是否具有登錄權(quán)限。3. 創(chuàng)建角色 create role role_1511630117; (a) 查看對象瀏覽器中“組角色”里面會出現(xiàn)剛剛創(chuàng)建的角色(需要刷新)。 (b)點擊剛剛創(chuàng)建的用戶

5、,查看左側(cè)窗口中出現(xiàn)的角色的屬性,注意該角色是否具有登錄權(quán)限。4. 使用新創(chuàng)建的用戶名和密碼連接數(shù)據(jù)庫,新建一個連接(新命名)。在下面的窗口輸入相關(guān)的信息。 登錄之后,輸入一個查詢語句,查詢?nèi)我庖粋€表中的信息。查看執(zhí)行的結(jié)果,并分析原因。select departmentid,name,birthday,sex,address,zip,PhoneNumber,EmailAddress,DepartmentIDfrom employee_1511630117;原因:圖中以顯示,權(quán)限不夠5. 使用默認的 postgres 用戶的連接(原有的那個),重新連接數(shù)據(jù)庫。四、實驗任務 1. 把查詢 emp

6、loyee表的權(quán)限授給新用戶”user_1511630117”。 grant select on employee_1511630117to user_1511630117;2. 把表的全部權(quán)限授予新用戶”user_1511630117”。grant all privilegeson departments_1511630117to user_1511630117; 3. 像上面的步驟 4 一樣,利用新用戶連接數(shù)據(jù)庫,并向 employee_1511630117表插入一條數(shù)據(jù)。如何處理? insert into employee_1511630117(employeeid,name,birth

7、day,sex,address,zip,phonenumber,emailaddress,departmentid)values('1001','許秉圣','19961204','0','天津','475001','3880378','xbs','1');如何處理:給予employee_1511630117插入權(quán)限即可Grant insertOn employee_1511630117To user_1511630117;授予權(quán)限后再次插入,顯示成功。

8、4. 利用默認賬戶連接數(shù)據(jù)庫,再創(chuàng)建兩個新的用戶,”user_1511630117_2”, “user_1511630117_3” create user user_1511630117_2 password 'xbs5417'create user user_1511630117_3 password 'xbs5417' 5. 把查詢 Employee 表和修改employeeid的權(quán)限授給用戶”user_1511630117_2” grant select,updateon employee_1511630117to user_1511630117_2;6.

9、 把對表Salary_1511630117的查詢權(quán)限授予所有用戶 GRANT SELECT ON TABLE Salary_1511630117TO Public;7. 把對表 Salary_1511630117 的 INSERT 權(quán)限授予用戶”user_1511630117”,并允許他再將此權(quán)限授予其他用戶。 GRANT INSERT ON Salary_1511630117TO user_1511630117WITH GRANT OPTION;8. 把用戶”user_1511630117_2”修改employeeid權(quán)限收回,利用”user_1511630117_2”連接數(shù)據(jù)庫;驗證更新e

10、mployeeid的操作是否能夠進行。 收回權(quán)限:revoke all on TABLE employee_1511630117from user_1511630117_2;在user_1511630117_2上更新employeeidupdate employee_1511630117 set employeeid='2001' where employeeid='1001'因為權(quán)限已經(jīng)收回,所以顯示錯誤 9. 收回所有用戶對表Salary_1511630117的查詢權(quán)限,利用”user_1511630117_2”連接數(shù)據(jù)庫驗證查詢操作是否能夠進行。 回收權(quán)限

11、:revoke all on TABLE Salary_1511630117from public;利用”user_1511630117_2”連接數(shù)據(jù)庫驗證查詢操作是否能夠進行:select employeeid,name,birthday,sex,address,zip,PhoneNumber,EmailAddress,DepartmentIDfrom employee_1511630117;因為權(quán)限已經(jīng)收回,所以顯示錯誤 10. 收回新創(chuàng)建的用戶的所有權(quán)限。 revoke all on TABLE employee_1511630117,departments_1511630117,sal

12、ary_1511630117from public;11. 創(chuàng)建角色 role_1511630117 create role role_151163011712. 將Employee_1511630117表的 SELECT、UPDATE、INSERT 權(quán)限授予新創(chuàng)建的角色”role_1511630117”。 grant select,update,inserton employee_1511630117to role_1511630117;13. 將新建的角色 role_1511630117授予用戶”user_1511630117”,并進行驗證是否擁有相應的權(quán)限 grant role_1511

13、630117to user_1511630117;驗證是否擁有相應的權(quán)限 查詢:select employeeid,name,birthday,sex,address,zip,PhoneNumber,EmailAddress,DepartmentIDfrom employee_1511630117;更新:update employee_1511630117 set zip=475002 where zip='475001'插入:insert into employee_1511630117(employeeid,name,birthday,sex,address,zip,pho

14、nenumber,emailaddress,departmentid)values('1002','許秉圣','19961204','0','天津','475003','3880355','xbs','1');14. 將新建的角色 role_1511630117授予用戶”user_1511630117_2”和”user_1511630117_3” grant role_1511630117to user_1511630117_2;grant role_

15、1511630117to user_1511630117_3;15. 從 “user_1511630117_3” 中收回角色 “role_1511630117” 擁有的三個權(quán)限。 Revoke role_1511630117from user_1511630117_3;16.為角色”role_1511630117”增加employee_1511630117表的 DELETE 權(quán)限。 grant deleteon employee_1511630117to role_151163011717.從角色”role_1511630117”收回 employee_1511630117表的 select

16、權(quán)限。 revoke selecton TABLE employee_1511630117from role_1511630117;18. 刪除創(chuàng)建的角色role_151160117。 drop role role_1511630117;最開始刪除不了,因為employee_1511630117對其有依賴,解決辦法在后遇到的問題詳述。19. 刪除創(chuàng)建的用戶。 drop user user_1511630117_3;5、 思考數(shù)據(jù)庫中對象的權(quán)限類型有哪些? 決定用戶對數(shù)據(jù)庫對象所執(zhí)行的操作,包括用戶對數(shù)據(jù)庫中的表、視圖、列或存儲過程等對象的操作權(quán)限(查詢、插入、更新、刪除) 六、記錄在實驗過程中遇到的問題、解決辦法及心得體會。遇到的問題:刪除創(chuàng)建的角色role_151160117時顯示有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論