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不成功,則可以 故障出現在以下幾個方面 ...
證明身份,不必非得靠身份證
身份證明只能靠身份證的問題,早就到了該解決的時候。在中國,身份證號碼既然是伴隨人終生的 唯一的身份辨識編碼,就該用身份資訊的電子化破解身份證明難題。前不久,總理兩度開腔痛斥證明 你媽是你媽 等 奇葩證明 之後公安部表態,將啟動身份證 一 資料平台建設計畫。但就眼下看,身份證明仍不是件容易事兒。日前 ...
毛坯房驗房驗點
序號驗房專案 查驗內容 門表面現象 防護措施,鎖具 合頁 開關 配件安裝情況 一入戶門 門框扇 門框 扇安裝,扇與框的結合情況,密封效能,門品種 型別 規格 尺寸 開啟方向 安裝位置等項 框扇安裝 固定情況,配件 防脫落 防撞措施 開啟情況 紗窗 溢水口 室內門窗 材質表面狀況,密封膠表面狀況 密封...