sql中許可權的問題

2021-06-07 22:58:02 字數 2917 閱讀 1530

建立角色,使用者,許可權

/*--示例說明

示例在資料庫pubs中建立乙個擁有表jobs的所有許可權、擁有表titles的select許可權的角色r_test

隨後建立了乙個登入l_test,然後在資料庫pubs中為登入l_test建立了使用者賬戶u_test

同時將使用者賬戶u_test新增到角色r_test中,使其通過許可權繼承獲取了與角色r_test一樣的許可權

最後使用deny語句拒絕了使用者賬戶u_test對錶titles的select許可權。

經過這樣的處理,使用l_test登入sql server例項後,它只具有表jobs的所有許可權。

--*/

use pubs

--建立角色 r_test

exec sp_addrole 'r_test'

--授予 r_test 對 jobs 表的所有許可權

grant all on jobs to r_test

--授予角色 r_test 對 titles 表的 select 許可權

grant select on titles to r_test

--新增登入 l_test,設定密碼為pwd,預設資料庫為pubs

exec sp_addlogin 'l_test','pwd','pubs'

--為登入 l_test 在資料庫 pubs 中新增安全賬戶 u_test

exec sp_grantdbaccess 'l_test','u_test'

--新增 u_test 為角色 r_test 的成員

exec sp_addrolemember 'r_test','u_test'

--拒絕安全賬戶 u_test 對 titles 表的 select 許可權

deny select on titles to u_test

/*--完成上述步驟後,用 l_test 登入,可以對jobs表進行所有操作,但無法對titles表查詢,雖然角色 r_test 有titles表的select許可權,但已經在安全賬戶中明確拒絕了對titles的select許可權,所以l_test無titles表的select許可權--*/

--從資料庫 pubs 中刪除安全賬戶

exec sp_revokedbaccess 'u_test'

--刪除登入 l_test

exec sp_droplogin 'l_test'

--刪除角色 r_test

exec sp_droprole 'r_test'

/*建立登陸帳號:

⑴.新增windows登陸帳號

語法:exec sp_grantlogin  '計算機名\使用者名稱'

⑵.新增sql登陸帳號

語法:exec sp_addlogin  '使用者名稱','密碼'

*//*建立資料庫使用者

語法:exec sp_grantdbaccess  '登陸帳號','資料庫使用者'

*//*想資料庫授權

語法:grant 許可權 on 表名  to 資料庫使用者

//注意:其中的許可權包含有:insert 、delete 、update 、select 、create table等

*//*

撤消許可權

語法:revoke 許可權 on 表名  from  '使用者'

*//*

刪除資料庫使用者

語法:exec sp_dropuser '使用者名稱'

*//*

刪除登陸帳號

語法:exec sp_droplogin '登陸名'

*/--****************

/***許可權設定*/

--****************

/**第一級**登入sql server的許可權*/

--建立sql server 使用者 ,'sql'使用者名稱,'abc' 密碼

exec sp_addlogin 'sql','abc','pubs'   --pubs預設資料庫名

-- 授權windows使用者 '計算機名\使用者名稱'

exec sp_grantlogin 'jbst124\win'

--修改預設資料庫

exec sp_defaultdb 'jbst124\win','pubs'

--刪除登入

exec sp_droplogin 'sql'

--取消授權

exec sp_revokelogin 'jbst124\win'

/*--拒絕授權使用者,不允許該使用者訪問,

--比如預設的系統管理員可以登入sql server 可以讓其中乙個不能訪問

exec sp_denylogin 'jbst124\ch'*/

/**第二級**對某個資料庫進行操作的許可權*/

--新增資料庫使用者,該使用者可以對資料庫進行操作

use mydatabase

exec sp_grantdbaccess 'sql','sqldbo' --登入名和資料庫使用者名稱

--取消資料庫使用者授權

exec sp_revokedbaccess 'sqldbo'

--授予許可權

--建立資料庫的許可權,只能在maste資料庫下才行

grant create database to sqldbo

--建立新錶

grant create table to sqldbo

/**第****對資料庫中表的操作的許可權*/

--刪除表

grant delete on abc to sqldbo

--修改表

grant update on tablename to sqldbo

--查詢某個表的許可權

grant select on tablename to sqldbo

--拒絕許可權

deny create table to sqldbo

--取消許可權

revoke create table to sqldbo

Java中的許可權問題

1 成員方法中許可權修飾符的訪問 同乙個包下 同一類 子類和無關類 不同包下 子類 不同包下 無關類 a private y b 預設 y y c protected y y y d public y y y y 2 類 a 許可權修飾符 public 預設 b 狀態修飾符 final c 抽象修飾...

mac中的npm許可權問題

error eacces permission denied下面介紹兩種解決這個問題的方法 1 找到npm的目錄路徑 npm config get prefix對於很多系統,路徑將會是 usr local.警告 如果出來的路徑僅是 usr,請調到方法2,否則你可能會設定錯誤。2 將npm目錄的擁有者...

linux中MySQL許可權問題

the mysql server is running with the read only option so it cannot execute this statement 檢視read only屬性,在mysql中執行 show variables like read only 如果屬性為o...