windows身份驗證

2022-12-23 11:12:02 字數 5266 閱讀 8585

sqlserver2000之一--關於sqlserver2000登陸身份的總結

(2009-07-28 16:01:40)

1(一)概述:

一、安全管理:

1)對使用者登陸進行身份認證authentication:當使用者登陸到資料庫系統時,系統對該使用者的賬號和口令進行認證,確認賬號是否有效以及能否訪問資料庫系統。

2)對使用者操作進行許可權的控制,讓使用者只能在允許的許可權內運算元據庫。

使用者運算元據庫的許可權:

1)登陸sqlserver伺服器必須通過身份驗證;

2)必須是該資料庫的使用者,或者是某一資料庫角色的成員;

3)必須有執行許可權。

二、身份認證:

1、windowsnt認證模式(windows整合身份認證模式)

登陸windowsnt時身份認證,只要正常登陸系統,在登陸時選擇「整合windows身份驗證「,登陸sql時就不用再進行身份認證。

1)要採用nt網路賬號登陸sqlserver,必須將nt網路賬號加入到sql中;

2)nt網路賬號登陸到另外乙個網路的sqlserver,必須在nt網路中設定彼此的託管許可權。

這主要是從伺服器的登陸就開始著手安全性登陸問題。以系統管理員的身份安裝了sqlserver,則windowsnt系統管理員則可以整合windows身份認證的方式登陸 sqlserver 。

但其他使用者的身份登陸windowsnt系統就未必能夠登陸sqlserver系統。若其他windows使用者想要登陸,則必須在 sqlserver中對其windows使用者進行訪問windows系統的授權。

2、sqlserver身份認證模式(剛開始預設為sa使用者system administrator)在windowsnt,windows2000/2003(除windows9x外)上執行sqlserver系統時,系統管理員設定的登陸模式可設為混合模式

即:既可以使用windowsnt模式,又可以使用sqlserver賬號登陸。

(二)有關於身份認證的具體的操作

一、針對windowsnt認證模式登陸的賬號

在授權後,可將其新增到固定伺服器和資料庫角色,使其具有操作伺服器和資料庫的許可權(詳情見一篇博文---固定伺服器角色和固定資料庫角色)。

1、視覺化方式1)先建立windows2003系統使用者,或建立域使用者使用者,在計算機管理中建立。

2)再將系統使用者加入到sqlserver中。例項名---安全性---登陸,右鍵---新建使用者---指明網域名稱和賬號

2、呼叫系統儲存過程(前提也是要在系統中有這樣的賬號)

1)授權,我電腦的作業系統為win2003sp2,計算機為域控制器,網域名稱為test

sp_grantlogin [@loginname=] 'login'

@login 常量字串

login格式:域\使用者名稱 test\steven

2)取消windowsnt網路使用者登陸許可權

sp_revokelogin [@loginname=] 'login'

3)例1:條件:test/user1和test/user2在同一組下

操作:若賦予windowsnt普通使用者user1登陸sqlserver的許可權,但不賦予windowsnt普通使用者test/user2登陸許可權

結果:test/user1登陸系統,能夠登陸訪問資料庫,但是test/user2登陸系統,不能登陸訪問資料庫

例2:條件:如果test/steven是test/admins組的成員

操作1:用儲存過程取消test下的steven使用者的許可權,但是授權test下admins組相應許可權

結果1:可以通過steven登陸系統

操作2:sp_denylogin [@loginname=] 'login',授權test下admins組相應許可權

結果2:此時拒絕了test域下的steven ,即使test域下的admins組有許可權,steven也不能登陸

在安全性---登陸處---雙擊更改預設登陸資料庫,此時沒有預設密碼。

4)在授權了windowsnt普通使用者後,使用者可以登陸到sqlserver,但是無法訪問資料庫;

此時在需要的登陸的資料庫物件(如xscj)中建立使用者的賬戶,即建立當前使用者在資料庫物件中的對映。

sp_grantdbaccess在每個使用者資料庫中建立使用者賬戶。

例:use xscj

exec sp_grantdbaccess 'test/administrator'

二、混合認證模式下sql server登陸賬號

1、視覺化方式建立sqlserver登陸賬號 1)成功登陸windowsnt

2)例項名---右鍵屬性---安全性---選擇身份驗證為"sqlserver和windows",只有這樣才能更改登陸方式,.net應用程式才能夠通過sqlserver的相應角色的使用者名稱訪問資料庫。

3)通過企業管理器建立賬號:安全性---[登陸,右鍵]---新建登陸---輸入賬號和密碼---選擇sqlserver身份驗證

2、呼叫系統儲存過程新增和刪除sqlserver登陸賬號1)新增賬號

sp_addlogin [@login=] 'login'

[ [@password=] 'password'

[@defaultdb=] 'defaultdb'

[@defaultlanguage=] 'defaultlanguage'

[@sid=] 'sid'

[@encryptopt] 'null/'skip_encryption'/'skip_encryption_old '是否對密碼加密'

]1、不能從使用者定義的事物中執行sp_addlogin

2、sp_password 更改使用者密碼 sp_password [@ps_old=]'oldpassword',[@ps_new=]'newpassword',[@loginname=]'login'

sp_defaultdb 更改使用者預設資料庫 sp_defaultdb [@loginname=]'login',[@database=]'database'

3、只有sysadmin和securityadmin固定伺服器角色才可以執行sp_addlogin

2)刪除賬號

sp_droplogin 'login 刪除sql登陸賬號

1、不能刪除任何資料庫物件(如:xscj)現有使用者的登陸賬號。必須首先使用sp_dropuser刪除該特定資料庫使用者;

這些使用者是指:在例項名---資料庫,選擇相應資料庫---登陸---使用者,右鍵---新建資料庫使用者,

通過這個操作將已有使用者對映到當前資料庫上,刪除時也要用sp_dropuser刪除該特定資料庫使用者,取消對映

2、不能刪除系統管理員sa的登陸賬號

3、不能在使用者定義的事務內執行sp_droplogin

4、只有sysadmin和securityadmin固定伺服器角色的成員才能執行sp_droplogin

3)同樣,通過sp_grantdbaccess將使用者賬戶對映到相應的物件資料庫中,使sqlserver使用者擁有訪問資料庫的許可權。

(三)舉例

///授權windowsnt賬戶登陸sqlserver的請求

use master

///test為網域名稱,steven為該網域名稱下的使用者

exec sp_grantlogin [test\steven]

go///取消windowsnt使用者或組登陸sqlserver的賬號

use master

exec sp_revokelogin [test\steven]go

///混合模式新增sqlserver系統的登陸賬號

use master

exec sp_addlogin 'zhang'

exec sp_password '7','zhang' ///舊密碼為空,則不寫,否則在新密碼'7'之前要加上舊密碼

exec sp_defaultdb 'zhang','xscj' ///設定預設的登陸資料庫

gogo

use master

exec sp_droplogin 'zhang'

gouse master

exec sp_addlogin 'wang','7','xscj','us_english'

gouse master

exec sp_dropuser 'wang' ///錯誤,當前資料庫不存在使用者wang,意思是這個登陸賬號沒有對映成為專用的資料庫使用者

goexec sp_revokelogin 'wang' ///錯誤,不是系統帳戶,windowsnt的系統賬號新增到sqlserver2000的登陸賬號才能這樣刪除

gouse master

exec sp_droplogin 'wang' ///正確,可以刪除sqlserver的系統賬戶

gouse master

exec sp_addlogin 'stevenz','7','test2','us_english'

go///視覺化方式:此時通過"在例項名---資料庫,選擇相應資料庫---登陸---使用者---新建資料庫使用者"操作,將剛剛建立的stevenz對映到test2資料庫上,成為資料庫使用者

use test2

exec sp_grantdbaccess 'stevenz' ///**建立賬戶在欲訪問的資料庫物件中的對映使用者賬戶

gouse master

exec sp_droplogin 'stevenz' ///錯誤,會提示「登入 'stevenz' 在乙個或多個資料庫中有別名或對映到了使用者上。請除去這些使用者或別名後再除去該登入。」

go///此時要到特定的資料庫用sp_dropuser去除對映,刪除該使用者

use test2

exec sp_dropuser 'stevenz' ///刪除該資料庫使用者stevenz

goexec sp_droplogin 'stevenz' ///刪除登陸賬號stevenz

go///windows集城身份驗證

use master

exec sp_addlogin [test\administrator] ///錯誤,不能這樣授權域帳戶或系統帳戶,要用granglogin

gouse master

exec sp_grantlogin [test\administrator] ///正確,windowsnt系統賬戶和域賬戶只能用grantlogin來授權,以達到windows身份驗證的目的

gouse xscj

exec sp_grantdbaccess [test\administrator] ///在相應的資料庫下,授權訪問資料庫的許可權,刪除時需要到響應資料庫下用sp_dropuser去刪除

gouse master

exec sp_revokelogin [test\administrator]go

Windows系統命令

1 ping ping是測試網路聯接狀況以及資訊包傳送和接收狀況非常有用的工具,是網路測試最 常用的命令。ping向目標主機 位址 傳送乙個回送請求資料報,要求目標主機收到請求後給予答覆,從而判斷網路的響應時間和本機是否與目標主機 位址 聯通。如果執行ping不成功,則可以 故障出現在以下幾個方面 ...

證明身份,不必非得靠身份證

身份證明只能靠身份證的問題,早就到了該解決的時候。在中國,身份證號碼既然是伴隨人終生的 唯一的身份辨識編碼,就該用身份資訊的電子化破解身份證明難題。前不久,總理兩度開腔痛斥證明 你媽是你媽 等 奇葩證明 之後公安部表態,將啟動身份證 一 資料平台建設計畫。但就眼下看,身份證明仍不是件容易事兒。日前 ...

毛坯房驗房驗點

序號驗房專案 查驗內容 門表面現象 防護措施,鎖具 合頁 開關 配件安裝情況 一入戶門 門框扇 門框 扇安裝,扇與框的結合情況,密封效能,門品種 型別 規格 尺寸 開啟方向 安裝位置等項 框扇安裝 固定情況,配件 防脫落 防撞措施 開啟情況 紗窗 溢水口 室內門窗 材質表面狀況,密封膠表面狀況 密封...