久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Windows Vista為什么不允許兩個用戶同時登錄

瀏覽:111日期:2023-08-19 17:59:46

一直就在納悶,為什么Windbg不能轉(zhuǎn)儲完整的WinSta0窗口站的安全描述符?為什么會少了登錄SID和登錄帳戶的對應(yīng)ACE?

盆盆很快發(fā)現(xiàn),原來是我自己搞錯了。為了方便,我用遠(yuǎn)程桌面連接到另外一臺實驗用Windows Vista機器,這時候由于是遠(yuǎn)程桌面登錄的,拿到的是會話2。但是我在Windbg里檢查的卻是Sessions1WindowsWindowStationWinSta0。

也就是說,盆盆實際上是檢查的會話1里的WinSta0窗口站,而不是遠(yuǎn)程桌面里的WinSta0窗口站(會話2)!!

難怪檢查出來的結(jié)果,發(fā)現(xiàn)WinSta0窗口站里居然沒有登錄SID和Admin的對應(yīng)ACE!!

1. 完整的WinSta0安全描述符

為了驗證這個結(jié)果,盆盆重新做實驗,這次直接控制臺登錄(會話1),再查看WinSta0的安全描述符,果然發(fā)現(xiàn)完整了,有附圖為證!

圖中棕色加粗的部分,就是登錄會話SID和登錄帳戶Admin所擁有的ACE,這里可以看到登錄會話SID擁有所有可能的權(quán)限,而Admin則幾乎沒有任何訪問權(quán)限。

問題到這里并沒有結(jié)束。

為什么會出現(xiàn)先前那篇文章里的錯誤?從中可以猜測到哪些結(jié)論?

2. 為什么只允許一個交互用戶登錄?

這里盆盆大膽假設(shè)Windows Vista(XP)為什么只能允許一個交互用戶登錄到系統(tǒng)(包括遠(yuǎn)程桌面)。原來是和WinSta0窗口站的權(quán)限有關(guān)!

當(dāng)新的用戶登錄進(jìn)來后,原來用戶會話里的WinSta0的安全權(quán)限會發(fā)生變化,登錄SID和登錄帳戶的ACE(訪問控制項)會被刪除。難怪我們看不到先前登錄用戶的桌面!

可以在遠(yuǎn)程桌面的環(huán)境里打開Process Explorer,查看一個在先前用戶環(huán)境里打開的進(jìn)程(例如Explorer),可以發(fā)現(xiàn)其句柄列表里沒有WinSta0窗口站,如附圖所示。

從圖中可以看出,當(dāng)前的用戶桌面,會話2里的Explorer進(jìn)程句柄表里包含WinSta0窗口站,所以可以和用戶進(jìn)行交互;而先前的登錄用戶,會話1里的Explorer進(jìn)程句柄表里,沒有WinSta0窗口站,所以雖然這些進(jìn)程還在運行,但是無法和用戶進(jìn)行交互。

為什么先前的用戶會話里的進(jìn)程沒有WinSta0的句柄,現(xiàn)在應(yīng)該很明白了,因為該會話里的WinSta窗口站對象的ACL定義發(fā)生了變化,現(xiàn)在不再授予登錄會話SID訪問。

這一切看來和WinSta0窗口站的安全權(quán)限有關(guān)。可見,登錄會話、窗口站的概念有多重要了。

知道了這個原因,從理論上,我們可以通過修改先前會話里的WinSta0窗口站的安全權(quán)限,來突破同一時刻只能允許一個用戶交互登錄的限制。但是實際上沒有那么簡單,盆盆能夠想到的,微軟肯定早就已經(jīng)想到了。

網(wǎng)上貌似有通過替換一個文件(termsrv.dll)的方法,讓W(xué)indows Vista支持多個用戶交互登錄。如果這個方法能夠成功,其原理必然還是和WinSta0窗口站的權(quán)限有關(guān)。

標(biāo)簽: Windows系統(tǒng)
主站蜘蛛池模板: 通榆县| 扶绥县| 温泉县| 淳化县| 枣庄市| 广灵县| 应城市| 沂南县| 城市| 保定市| 大英县| 芜湖县| 林州市| 英德市| 南宫市| 镇安县| 红桥区| 达州市| 邯郸市| 宜君县| 唐河县| 兰考县| 逊克县| 浑源县| 千阳县| 衡阳市| 芦山县| 女性| 鄂温| 长治县| 永安市| 合肥市| 麻江县| 炉霍县| 肥西县| 广丰县| 弥渡县| 航空| 尼玛县| 美姑县| 尉氏县|