因應電腦大量進入校園

Linux RedHat作為校園網路主機

安裝 SambaWAM

提供帳號及個人網頁/資料遠端管理服務

作者:黃自強

目 錄

SAMBA+WAM在校園網路內的應用 設定SAMBA服務 用Linuxconf來設定Samba 

把 Samba 當作網域主控站(PDC)

用文書編輯器來修改smb.conf Login Script 範例

設定 Client 端Windows98 部份 使用個人化設定 在網路上的芳鄰中可以看到主機

用系統原則編輯器鎖死控制台-網路設定

Samba 的其他命令列指令使用

【WAM帳號管理員】的安裝和設定 WAM程式功能簡介 安裝說明 

系統需求   相依套件  安裝步驟 系統架構 常見問題 分項使用說明  

參數設定  新增群組  新增單一帳號  手動新增整批帳號  自動新增整批帳號 

刪除帳號或群組  重設密碼   帳號檢查  檢視帳號結構  追蹤使用紀錄 

郵件管理員 檔案管理員 共享資料夾  登出系統

 

 

SAMBA+WAM在校園網路內的應用

 對於校園師生已經習慣了 MS Windows 的USER來說﹐打開網路上的芳鄰存取網路主機的分享資源,已經是家常便飯,系管師們可以架設一台 Linux 主機並安裝免費、高效率的SAMBA智慧型傻瓜介面的帳號管理員WAM兩樣服務做到:

1.高效率的檔案伺服器(file server)

2.分享(網路)印表機資源

3.取代WindowsNT,擔任起網路的 PDC〔網域主控站〕角色。

4.利用win98的[profile],老師或學生自己的個人化設定檔,可以回存到Linux主機備分。

5.用server 上的Login Script ,替user在[我的電腦]中,連接幾台內定的網路磁碟機。

6.使用Login Script批次檔,可在使用者桌面上製作(自動拷貝)一個〔我的家目錄〕資料夾。那就是每個使用者在 Linux主機上的家目錄,方便編輯檔案和個人網頁。

7.用WAM大量迅速建立學生帳號時,同時也幫他們把網頁的目錄(public_html) 及〔施工中〕的網頁建好了,所以在製作個 人網頁時,更簡化了。

8.師生使用者回家上網後,仍然可以透過網頁管理家目錄,管理個人檔案,編輯網頁,線上變更密碼,管理個人化計數器(counter),管理個人化留言版....等。

9.上傳下載自己的檔案或作業,編輯好了,再回傳到主機上。真正做到「攜帶檔案免磁片」。

10.傻瓜化WEB介面的電子郵件收發程式。降低學習門檻,推動資訊利用網路教學與學習。

11.管理員可以把主機冰在主機房中,管理可利用簡單的WEB化介面,輕鬆線上大量新增、刪除、管理使用者帳號。

回目錄

壹、設定SAMBA服務

  Samba Server與Windows作業平台達成網路上的資源共享,是使用三個TCP(137、138、139)埠,和三個UDP(137、138、139)埠進行溝通:將主機的名稱及IP位址加封成UDP封包,再藉由廣播每12秒鐘用廣播發出主機名稱與IP對應的訊息,灑向區域網路內其他電腦,通告本機的NetBIOS節點位置,於是我們透過「網路上的芳鄰」就可看到其他電腦了。

  Linux作業系統把磁碟、光碟、印表機等周邊設備,統統認為是檔案,所以我們可以把某樣設備如:光碟機,先Mount到Linux裡,再藉由Samba Server將資源分享出去。

安裝好samba後,首先讓我們先看看 您的Linux 主機是不是提供以下服務?

  1. 我們先檢查在主機的 /etc/services 檔案裡面的幾個port註解掉了(內定是沒有被 # 註解掉)﹕
    #cat /etc/services
    netbios-ns      137/tcp             # NETBIOS Name Service
    netbios-ns      137/udp
    netbios-dgm     138/tcp             # NETBIOS Datagram Service
    netbios-dgm     138/udp
    netbios-ssn     139/tcp             # NETBIOS session service
    netbios-ssn     139/udp
  2. 如果您沒有安裝校內專用DNS或WINS的話,至少要在/etc/hosts 內建立主機名稱與ip的對應。當然要包括作為 SAMBA 伺服器的 Linux 主機本身﹕
    #vi /etc/hosts
    127.0.0.1 localhost localhost.localdomain
    192.168.xx.6   webmail.ysps.tp.edu.tw webmail
    192.168.xx.10  cc.ysps.tp.edu.tw cc
    192.168.xx.11  www.ysps.tp.edu.tw www
    192.168.xx.7   proxy.ysps.tp.edu.tw proxy
    192.168.xx.8   ysps1.ysps.tp.edu.w ysps1
    ......
  3. 使用samba的web界面--swat管理設定:
    (一)samba的web界面組態設定,請檢視/etc/services檔,您會發現:
    #swat 901/tcp
      請將#去掉,修改完後存檔離開。

    (二)修改/etc/inted.conf,應該會發現一行:
    #swat stream tcp nowait.400 root /usr/sbin/swat swat

     
    將#去掉,修改完後存檔離開。

    (三)以kill -1 (inetd的pid),重新啟動inetd

    (四)將瀏覽器網址列輸入 http://xxx.xxx.xxx.xxx:901/ 啟動WEB管理介面

回目錄

(一)用Linuxconf來設定Samba

  1. 我們可以用Linuxconf 來設定Samba Server,或用文書編輯器直接修改 /etc/smb.conf 這個檔案。

    1.首先,登入主機,並 su 成 root

    2.再執行 linuxconf



    3.選 Server Tasks → Samba file server → defaults



    4.選 Base config,設定基本資料,注意
    [  ]Synchronise Linux from SMB passwords 的中文意思是:把Linux密碼變成和 Samba同步化,因為我們後面要用WAM來提供Linux和Samba有同步變更密碼的服務,這裡可以不用勾選。您可以按〔Tab〕按鍵來跳換游標。

    續上頁(defaults的設定)

    Samba 若用純文字密碼,請執行現成的 samba.reg建議Windows95 OSR2版,或Windows98以上,用編密的密碼驗證。

    回目錄

    把 Samba 當作網域主控站(PDC),設定選項如下圖。

    說明:當PDC 的 Samba 也可以當作 Wins Server ,不過因為本校的Wins Server 和DHCP用 Proxy 那台 NT Server 來做了,所以這裡不勾選。

     如果原網域已有NT Server 了,您又不想把NT Server 汰換掉,Server ID千萬別大於32。可是不當PDC,使用者就要記憶一大堆主機密碼,校園裡實在行不通。要控制USER Login Script要在NT上做,也不太方便。



    5.如果您要用這台 Samba 網域主控站來做netlogon服務的話,要做→ Netlogon setup,當然您的主機上/netlogon 這個實體目錄要事先建好,並開放權限讓全部的使用者都可以讀取這個目錄

    #cd /

    #mkdir netlogon





    U.bat 的設定請參考後面

    回目錄

    6.最後要去→control→control service activity中,把 samba跑起來,並設定為一開機就自動跑samba。





    7.[X]Automatic用空白鍵可以選取是否開機自動執行。start 是啟動,stop 是停止,Restart 是重新啟動。

    8.測試:找一台windows98或NT,開個 Dos 視窗,用指令

     c:\> nbtstat -A 192.168.xxx.6  來看看主機的SMB服務跑起來了沒有??(不知道nbtstat指令是什麼?? 點這裡)

    回目錄

    (二)用文書編輯器來修改smb.conf

    #samba設定檔簡要說明<;跟#都是註解符號>
    #
    或是按這裡下載範例 smb.conf
    #======================= Global Settings=========================
    [global]
    #global 部分的宣告

    # 群組名稱
    workgroup = cc

    # 網路芳的芳鄰可以看到samba server 的名稱
    server string = Samba Server %v

    # 准許讓那些 ip 來存取。
    allow hosts= 192.168.xxx.0/255.255.255.0

    # 預設是 yes ,但沒使用印表機的話可設為no或者乾脆 # 起來。
    #load printers = no

    # 訪客帳號
    ;guest account = ccguest

    # Samba紀錄檔位置
    log file = /var/log/samba.%m

    #安全認證等級(內定值)
    security = user

    #如果您想要繼續用NT主機帳號來做密碼認證的話(不建議,因為不能密碼同步)
    ; password server = ccserver

    #把純文字密碼,用MD5編密認證
    encrypt passwords = yes

    #網卡
    interfaces = 192.168.xx.6/24

    # 讓 Sabma當作網路主瀏覽器 (Local Master Browser),來蒐集網路上的芳鄰中的電腦資訊。
    local master = yes

    # OS Level NT 是32 ,高於32 的話就會把原來的NT PDC Server 給取代掉 ,也就是說此網域的主控站由這台 Linux Samba 來管理。同時會造成網域原來的NT Server 無法管理原有帳號,也沒有檔案目錄分享的功能。
    #
    os level = 35

    domain master = yes

    #要不要把這台Samba優先成為Local Master Browser 或 Domain Master Browser
    preferred master = yes

    # 當Logon Server,可以用來控制Client 端的巡視設定檔,及登入批次檔。
    domain logons = yes

    #以電腦〔機器〕為單位的登入批次檔
    ; logon script = %m.bat

    # 以使用者〔人〕為單位的登入批次檔
    ; logon script = %U.bat

    # 配合下面的 netlogon 設定, 把 U.bat 放入Netlogon目錄中,學生登入時,windows98就會自動執行 U.bat。 本校U.bat的內容,請參考這裡
    # 原來的設定是 %U.bat (%U.bat=UserName.bat)也就是每個人都可以有自己的開機程序,1500個師生,會設死掉,每個學生都一樣就好了。
    logon script = U.bat

    # 用samba當wins server (個人建議用神通案Mail 那台nt主機來做校內 DNS 和 Wins比較簡易)
    ; wins support = yes
    wins server = 192.168.xx.7

    #如果分享的資源有使用中文長檔名,則要設code page
    client code page=950
    coding system=cap

    #============================ Share Definitions ==============================
    # user 的家目錄設定,路徑用name pipe 方式寫成: \\webamil\homes 
    [homes]
    comment = Users' Home Directories
    browseable = no
    writable = yes

    # 要做Domain Logon server 的話,當然您需要先把該目錄建好,並設為大家都可讀取
    [netlogon]
    comment = NetLogon Service
    path = /home/netlogon
    guest ok = yes
    writable = no
    share modes = yes

    # 要不要使用巡視設定檔
    [Profiles]
    path = /home/profiles
    browseable = no
    guest ok = yes

    ;印表機設定[略]

    #暫存區
    # This one is useful for people to share files
    ;[tmp]
    ; comment = Temporary file space
    ; path = /tmp
    ; read only = no
    ; public = yes

    # 讓@users 這個群組的人都可以寫入 /home/works 這個目錄[繳交作業],
    # 但是在 server 上的 /home/works 這個實體目錄,也要設成 chmod g+w /home/works 才可真正寫入。
    [public]
    comment = 繳交作業
    path = /home/works
    public = yes
    writable = yes
    printable = no
    write list = @users

     

    回目錄

    (三)Login Script 範例

    U.bat 是所有User共用的Login Script ,您也可以指定為%U.bat 來指定每一個User各用不同的bat 檔。

    一般學校校園網路環境可以共用一個就可以了。

    @echo off 
    @rem 不在登入的dos視窗顯示回應
    @net time \\vod  /set  /yes
    @rem 先校正個人電腦的時間與Vod Server 一樣,以利撥放vod影片
    @需要的話,也可以連線網路磁碟機
    @use  net  h:  \\webmail\homes 
    @rem webmail 是 Linux samba主機的名字
    @use  net  s:  \\webmail\share
    @use  net  w:  \\webmail\works
    @if exist c:\jstemp\ok.txt goto end
    ............略................

    :end 
    @rem 直接刪除桌面的內容
    @deletree c:\windows\desktop\*.* /y

    @自動拷貝您想要放到使用者電腦桌面上的捷徑或檔案
    @xcopy \\webmail\netlogon\desktop\*.*    c:\windows\desktop\*.*  /e  /y
    @rem 設定每個人的家目錄,並且在桌面拷貝一個〔我的家目錄〕的捷徑icon,像這樣
    @rem 然後按滑鼠右鍵,編輯它的內容指定路徑給這個捷徑,如: \\webmail\homes  



    @rem 自動設定瀏覽器的Proxy以及首頁設定,Samba 若用純文字密碼,也可以把該系統登錄加入
    @regedit  \\webmail\netlogon\ie5.reg

    ............略................

    回目錄

  2. Samba要加入單一user(系統內已經擁有的使用者才行)可以用以下指令

    $ su
    $passwd:
    #smbpasswd -a user1
    #new SMB passwd:
    #Retype new SMB passwd:
    #Password changed for user user1.
  3. 使用個人化設定:samba必須和windows 98的多使用者功能配合才可發揮完整的個人環境效果,這時資料會回存到Server 上的個人家目錄中。(超浪費網路頻寬和主機空間,學校電腦教室環境不建議使用)

    1.在smb.conf中的[global]中,加入profile檔案要放的路徑。

    2.在控制台→使用者啟用多使用者設定→輸入使用者名稱→個人化項目設定值[用節省的方式]
    →完成,重新啟動電腦

    3.登入後, 進入windows 98前,系統會問您是否保留個人設定值, 必須回答是, 才能保留每個人不同的環境參數。

    4.使用outlook express 5.0後, 要先將資料存放的目錄變更到/windows/profiles/中您的帳號目錄底下的Application Data/Microsoft/Outlook Express底下。

    5.設定完成後, 登出時就會將您在/windows/profiles/您帳號目錄中的各項目錄, copy 到您server上的私人目錄下。

    6.每次登入便會將您的profiles目錄搬到windows/profiles/您帳號目錄中, 每個人便有自己的環境與outlook express了, 不會去影響到別人, 只不過您的server硬碟必須要大一點, 因為新設定完成的profiles檔(不含mail信件)就將近4MB。

    開始→設定→控制台→使用者

    回目錄

    另外在→控制台→密碼中的→使用者設定檔也要設好您要的方式


(四)設定 Client 端Windows98 部份

回目錄

  1. 將win98電腦的網路卡和 TCP/IP協定安裝好:開始 → 設定 → 控制台,並且把NetBUEI,IPX等通訊協定移除,剩下TCP/IP即可。DNS 、wins、或您有用DHCP.....等設定好,登入網域部分要填入您的網域,例如:cc ,並且記得前面登入WindowsNT網域的方格要打ˇ。




  2. 指定師生使用不同群組(workgroup)﹕網路→識別資料→工作群組,指定成您要的群組。建議老師和學生用的電腦設為不同群組,如:電腦教室學生用cc,教室電腦用teacher。這樣在User打開網路上的芳鄰時,電腦數量才不會多到7~80台,看到眼花撩亂。

    回目錄


  3. 網路→存取控制可設定為共用級,這樣老師學生都可以透過網路互相分享檔案。

    回目錄


  4. 用Windows98光碟內附的"系統原則編輯器"〔Poledit.exe〕鎖死控制台-網路設定,不讓調皮搗蛋的使用者變更設定。(執行poledit.exe→開啟登錄→admin.pol→本機使用者→限制→控制台→網路→限制網路控制台[打ˇ]→存檔→登出Windows,並重新登入)



  5. 重新啟動Windows,並登入網域。在網路上的芳鄰中可以看到主機,點兩下打開,看看可否看到
    user的家目錄和share目錄

    回目錄




    成功了,恭喜您!@!
    homes目錄就是使用者的家目錄
    接下來,在windowds 中只要拖放就可以編輯網頁和檔案了.


    回目錄


如果您還遇到 Samba的其他問題﹐可以到大本營 http://www.linpus.com.tw/nicedoc/samba/sambafaq.html 網頁參考看看

Samba 的其他指令使用

  1. 用 testparm 來測試一下smb.conf的語法是否正確。

    回目錄

  2. 用Linuxconf  或命令模式重新啟動 SAMBA ﹕
    #/etc/rc.d/init.d/smb restart
  3. 執行 Linuxconf 選 Control  services activity--> 勾選﹕[ˇ] smb 。讓 samba 隨Linux系統一起啟動。

經過上面一番折騰之後﹐當您登入 Windows 之後﹐應該可以在‘網路芳鄰’ 那裡看到 Linux 的機器了。

使用者要變更密碼,不必Telnet到主機上,只要把WAM裝好就可以了

從Linux主機上設定 連結Windows或NT主機上面的分享資源的話,可使用 smbmount :
smbmount "\\\\ccserver\share" /mnt

如果上面的語法不成功﹐可以試試這個﹕
smbmount "\\\\ccserver\share" -c 'mount /mnt'

果您要檢查一下連接﹐看看 Windows 機器有什麼分享資源﹐可以使用﹕
smbclient -L ccserver

smbclient \\\\ccserver

來連接對方﹐但這樣的情況有點像使用文字模式的 FTP ﹐當然沒有使用 smbmount 那麼方便。

參考文件
http://www.cses.tcc.edu.tw/~chihwu/samba.html
http://www.study-area.net/resume.htm

http://www.cses.tcc.edu.tw/~chihwu/DAY7-8.htm
http://netlab.kh.edu.tw/FAQ/samba相關問題集.htm

回目錄