• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 限制Windows用戶的并發登錄

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    可能就是這篇文章的題目吸引了你,也可能你曾經也有過同樣的心愿—管理并限制Windows 網絡 中的用戶登錄限制。而且你曾經為此一籌莫展,渴望解決Windows網絡中因為用戶任意登錄所導致資源管理,用戶管理, 安全 審核等一系列問題。我在這里(包括下文,有時

       可能就是這篇文章的題目吸引了你,也可能你曾經也有過同樣的心愿—管理并限制Windows網絡中的用戶登錄限制。而且你曾經為此一籌莫展,渴望解決Windows網絡中因為用戶任意登錄所導致資源管理,用戶管理,安全審核等一系列問題。我在這里(包括下文,有時也會稱為并發登錄)所提到的任意登錄是指同一時間,同一個用戶賬號在不同的計算機上同時登錄的現象,或者說是在一臺計算機登錄,在完成工作后并未注冊但又在另一臺計算機上登錄的現象,并不是指任何時間,任何地點在一臺計算機上登錄的現象。如果你曾經管理過Novell網絡,后來轉換到Windows網絡,你會因為Windows沒有提供這種機制而對那些不守規矩的用戶行為感到無可奈何。因為作為一名Novell管理員非常清楚,限制用戶賬號的并發登錄,僅僅是NDS(Novell Directory Service,Novell目錄服務,與Windows 2000中的Active Directory一樣,旨在提供一種單點登錄,統一資源管理的手段,都是基于X.500標準設計,但NDS的某些方面可能強于Windows 2000的Active Directory,并發登錄限制就是一個典型)對象的一個“Check Box”,唯一要做的是Enable或者是Disable。
        用戶賬號在同一時間內并發登錄,所產生的最大問題還是與內部或者外部網絡的安全相關。例如,你是一個網絡的管理員,你為自己創建了一個登錄賬號,因為平時管理工作的需要,你給這個賬號添加了足夠的權限,而且你堅信:我的網絡是安全的,我的同事也是相互尊重,不會利用別人的賬號作任何事情的。為了自己方便記憶(或者說登錄時輸入簡單),你設置了一個很容易記憶(比如,123456或者與你的用戶名相同),但就是因為Windows網絡沒有并發登錄限制機制,那些對網絡特權賬戶充滿好奇心(因為他知道有特權可以做很多事情),或者平時對你稍有不滿的用戶試圖利用你的賬號做什么事情(因為你設置的密碼簡單,容易被猜到,而且你還相信他們不會做什么),你都無法知道,這尤如惡夢一般。那怕你設置了安全審核,但審核結果還是你自己的登錄賬號,這顯然是Windows沒有并發登錄限制所導致的問題。
        直到現在的Windows 2000為止,Microsoft都沒有在系統中內置限制用戶并發登錄的機制(如果你已經預覽過Windows Server 2003,你會發現它也沒有這種機制)。當然,Microsoft并不是沒有傾聽用戶的心聲,因此,Microsoft在他的Windows 2000 Resource Kit中提供了一個程序來實現這種功能,試圖來掩蓋普天之下眾多Windows管理員的譴責聲。顯然,Microsoft在這方面已經向前邁進了一大步,通過本文你會了解到,到目前為止,Microsoft究竟提供了一個怎么樣的解決方案,這個解決方案是否已經一呼百應,實現了Window管理員多年來的夙愿,當然包括我。首先,我們來回顧一下在沒有Microsoft自己的解決方案之前,我們Windows管理員自己是如何嘗試著解決這個問題的。
        一、腳本程序
        作為一名Windows管理員,想必你肯定知道腳本在日常管理工作中的重要性,比如,批量創建用戶。而且我們還知道,利用腳本可以為用戶創建登錄腳本,在登錄腳本中,你可以為用戶映射網絡驅動器,連接打印機等等。聰明的Windows管理員就是利用腳本第一次實現了并發登錄限制,讓我們一起看看是如何實現的。
        使用Kixtart腳本處理器制作如下的一個腳本程序。Kixtart是一個可以運行在Windows各個版本上增強的腳本處理引擎。如果你要測試文章中的腳本程序,你需要安裝Kixtart程序。有關Kixtart的詳細信息,可以訪問站點。與Kixtart配合使用的部分程序,請到對應的操作系統安裝盤中相應的support目錄或者Resource中查找。
        注意,腳本程序中的Onlyonce.txt是保存在Netlogon共享目錄中,它一般包括一些警告與說明信息,可以任意定義。
        這個腳本看起來有點復雜。但是,它工作得很好。除了程序本身,管理員還需要做二項工作。首先,為每個用戶的主目錄(Home Directory)創建一個隱藏共享,指定只有這個用戶可以訪問并且僅允許一個用戶訪問(這個很重要)。其次,在用戶主目錄中創建一個%username%.txt文件,并且指定僅對這個用戶具有讀取權限。
        從上面簡單的解釋中大家應該已經猜到腳本實現的原理,非常簡單:限制主目錄僅允許一個用戶訪問,如果同一個用戶在沒有注銷的前提下嘗試登錄,映射網絡驅動器將失敗,系統顯示Onlyonce.txt中的內容,然后調用shutdown防止用戶登錄。
        我想精明的讀者已經發現NTName/NTName2正常運行時會受到的威脅—主目錄的服務器關閉時,用戶將可以任何登錄,你再也無法阻止他們的這種行為。另一個缺陷就是當另一個用戶故意或者偶然地連接到其他用戶的主目錄,在他不離開(盡管拒絕他訪問,但已經連接)的情況下,主目錄的所有者將不能登錄(因為已經設置同時僅限一個用戶連接)。
        二、一個更簡單的手段
        Windows管理員們在不斷地尋找更好的解決方案。所有的努力并沒有白白浪費,終于有了更好的選擇。NTName—一個Windows NT網絡中限制用戶賬號并發登錄的實用程序,我們可能不記得是由哪位Windows管理員編寫的,但我們肯定可以發現這個比前面的腳本程序有很大的進步。與NTName程序配套使用的是Logout程序,一個強制注銷的程序。讓我們粗略地看一下NTName的實現。
        當你登錄到NT網絡時,計算機會添加一個由你的用戶名組成的NetBIOS名字,名字是唯一的,因此同一時間內它只能存在于一臺計算機上,在計算機中的Byte 16值等于0x03,這個名字用來在網絡中廣播信息,比如,假設你已經要求打印作業完成后顯示消息,Windows網絡就根據你登錄時產生的NetBIOS名字決定你當前登錄的計算機,并顯示已經完成的消息(你可以測試,假如你并發登錄20個用戶,只會有一臺計算機接到這個消息。)。NTName就是根據這個原理來實現的,在程序運行時,它把用戶名作為一個參數處理,檢查這個名字是否屬于當前計算機所有。如果沒有任何輸出,就返回ErrorLevel 0。如果輸入了名字所屬的系統名稱,返回ErrorLevel 1,這往往意味著指定的用戶名已經在另一臺計算機中登錄,當然你可以要求另一臺計算機注銷。為此,你可以在用戶的登錄腳本中添加以下幾行:

    NTName %USERNAME% >%TEMP%\LOGONEDPC.TXT ;重定向到logonedpc.txt文件
    
    If not errorlevel 1 goto Logon_OK
    
    For /f %%f in(‘TYPE %TEMP%\LOGONEDPC.TXT’) do @echo 已經登錄到%%f %0..\logout.exe
    
    :Logon_OK 
    
    
    
               

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>