用sql語句建立登入角色使用者許可權

2021-06-04 02:40:35 字數 3266 閱讀 6084

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

/*--示例說明

示例在資料庫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'

**:登入、使用者、角色和組是 microsoft® sql server™ 2000 安全機制的基礎。連線到 sql server 的使用者必須使用特定的登入識別符號 (id) 標識自己。因此,使用者只能檢視經授權可以檢視的表和檢視,並且只能執行經授權可以執行的儲存過程和管理功能。這一安全系統基於用來標識使用者的 id。

sp_addlogin

建立新的 sql server 登入,使使用者得以連線使用 sql server 身份驗證的 sql server 例項

sp_addrole

在當前資料庫建立新的 sql server角色

--什麼是角色???

例如,乙個公司可能成立慈善活動委員會,其中包括來自不同部門,來自組織中各種不同級別的職員。這些職員需要訪問資料庫中特殊的專案表。沒有只包括這些職員的現有 windows nt 4.0 或 windows 2000 組,而且沒有其它理由在 windows nt 4.0 或 windows 2000 中建立這樣乙個組。可以為此專案建立乙個自定義 sql server 資料庫角色 charityevent,並將個別的 windows nt 和 windows 2000 使用者新增到此資料庫角色。當應用許可權後,資料庫角色中的使用者便獲得對錶的訪問許可權。其它資料庫活動的許可權不受影響,只有 charityevent 使用者可以使用該專案表。

sql server 角色存在於乙個資料庫中,不能跨多個資料庫。

使用資料庫角色的好處包括:

1.對於任何使用者,都可以隨時讓多個資料庫角色處於活動狀態.如果所有使用者、組和角色都在當前資料庫中,則 sql server 角色可以包含 windows nt 4.0 或 windows 2000 組和使用者,以及 sql server使用者和其它角色。

2.在同一資料庫中,乙個使用者可屬於多個角色。

3.提供了可伸縮模型以便在資料庫中設定正確的安全級別。

說明:資料庫角色要麼在建立角色時由明確指定為所有者的使用者所擁有,要麼在未指定所有者時為建立角色的使用者所擁有。角色的所有者決定可以在角色中新增或刪除誰。但是,因為角色不是資料庫物件,不能在同一資料庫中建立由不同使用者所擁有的多個同名角色。

sp_addrolemember

將安全帳戶作為當前資料庫中現有 microsoft® sql server™ 資料庫角色的成員進行新增。

sp_adduser

為當前資料庫中的新使用者新增安全帳戶。

sp_defaultdb

更改登入的預設資料庫

sp_defaultlanguage

更改登入的預設語言

sp_droplogin

刪除 microsoft® sql server™ 登入,以阻止使用該登入名訪問 sql server

sp_grantlogin

使 microsoft® windows nt® 使用者或組帳戶得以使用 windows 身份驗證連線到 microsoft sql server™。

sp_helpuser

報告有關當前資料庫中 microsoft® sql server™ 使用者、microsoft windows nt® 使用者和資料庫角色的資訊

sp_password

新增或更改 microsoft® sql server™ 登入的密碼

sp_revokelogin

從 microsoft® sql server™ 中刪除用sp_grantloginsp_denylogin建立的 microsoft windows nt® 使用者或組的登入項。

xp_logininfo

報告帳戶、帳戶型別、帳戶的特權級別、帳戶的對映登入名和帳戶訪問 microsoft® sql server™ 的許可權路徑

Linux 建立使用者角色並新增ssh登入許可權

1 root許可權下 useradd home xiaoli xiaoli 2passwd xiaoli 3cd home mkdir xiaoli 4 chown xiaoli xiaoli 5 切到xiaoli的角色 su xiaoli 6cd home xiaoli then mkdir ss...

SQL建立使用者及角色

自己copy過來的,忘了出處 首先使用sp addlogin新增登入 exec sp addlogin 使用者名稱 密碼 預設資料庫 然後向該使用者授予訪問某資料庫的許可權 use 資料庫名 exec sp grantdbaccess 使用者名稱 update 更新宣告的表所有列 字段 delete...

SQL 登入名 使用者 角色

參考部落格 非常感謝博主的知識分享。1.建立乙個登入名,完全運算元據庫許可權,步驟為 建立登入名 建立使用者 分配角色 1.建立登入名 此時可以登陸,但是沒資料庫的許可權,不能看表 create login dba with password 1234 2.建立使用者 給資料庫mydb建立使用者,此...