WAM帳號管理員】使用說明 

下載wam最新版 ■WAM FAQ


目錄


什麼是WAM 回目錄

WAMWeb-base Account Manager的縮寫,中文就稱為帳號管理員是由台北市石牌國小李忠憲老師用perl開發的作品。目前支援 Redhat 8.x 以上 及 Mandrake 8.x 以上的Linux 系統.

WAM的設計理念主要是為了方便國中小電腦老師和資訊組長管理 Linux 主機帳號以及降低一般使用者或學生使用Linux Web+Mail主機的門檻而創作的,因此設計的方向與一般以管理員角度來考量的系統(例如:webmin、eServer......等等)有別.

WAM可以讓一般使用者(而不僅只是管理員),直接透過網頁管理自己的檔案進行主機資源的取用與操作,也兼融了WEB介面的 NeoMail ,提供小朋友簡易的Webmail 收發郵件功能。

另外,WAM也提供了網頁設計所需的圖形式訪客記數器和留言版公用cgi程式,其中留言版程式更可以利用作為電子報派報功能,提供親師互動的良好橋樑.電子相簿公用程式功能更可以自動製作縮圖,供師生管理電子相簿使用.

在管理校園區域網路的角度來看,WAM主要應用於單一主機提供大量Mail帳號及網頁空間服務,更理想的是在您的主機上安裝 Samba 服務,也就是說該主機有整合NT網路芳鄰的需求,這樣的話WAM就又能提供系統密碼與Samba同步的服務,管理員想要透過web介面設定磁碟配額,或是想提供使用者線上網頁製作,郵件收發.....等應用環境,更能展現WAM程式強大易用的功能。

新版的WAM如1.63版,更提供了線上升級的服務,輕輕一點就可以自動連到逸仙國小升級,另外還有中英文多語系支援等新功能陸續開發中.

目前WAM總站設於台北市逸仙國小,由黃自強老師負責程式介面美工設計及程式BUG測試,並於逸仙國小提供網路faq及下載服務.


版權聲明 回目錄

本程式基於開放程式碼(Open Source)的無私精神,除免費授權給教育單位使用外,任何人都可以在合乎著作權法及GPL的規範下,取得原始程式碼,可依據自己的需要來做修改。唯需保留原著作聲明,且不得在未作任何修改的情形下,使用於商業或當成附加價值產品(例如放入書中所附的光碟中),若需作此類用途,應先取得作者之書面授權。


程式簡介 回目錄

本程式主要提供管理員(root)管理大量帳號使用,以基本功能來說,包括:自動新增、手動新增、移除、重設密碼......等,另外,針對帳號可進行各種細項屬性的規劃,例如:巢狀目錄、預設首頁範本、Samba密碼同步、使用期限、強迫密碼更新、磁碟配額......等等。一般使用者則可以透過網頁,直接修改個人密碼。

檔案管理員可提供管理員(root)以及一般使用者,管理主機上的個人目錄和檔案,例如:上傳、下載、備份、搬移、更名、設定權限......等等,而不需要再透過複雜的 Telnet、FTP 軟體來處理。因此應用在學生的網頁設計課程中,有相當好的效能和便利性。管理員(root)還可以透過網頁,建立各種不同用途的共享資料夾(公用磁碟空間),滿足學生繳交作業、提供檔案下載、文件資料交換....等種種不同的需求。

郵件管理員則提供以網頁來收發電子郵件,如果使用如OutlookExpress等一般收信軟體來處理,先前的設定工作,足以讓初學者嚐盡苦頭。一般使用者和管理員(root)都可以透過內建的 Neomail 網路郵局收發郵件,設定通訊錄,郵件過濾規則......等等,等於是擁有了一個網頁上的OutlookExpress,但是又不必作複雜的帳號設定。

使用Linux Web+Mail Server,配合WAM解決方案,可以提供使用者享有以下服務

功  能  說  明
個人網頁空間(可設定quota)  http://主機名稱/~你的帳號
Email 信箱(可線上收發電子郵件) 你的帳號@主機名稱
共享資料夾(公用磁碟空間) 繳交作業或檔案分享用
網頁計數器,留言版 製作網頁用

安裝說明 回目錄

1。系統需求

  本程式僅適用於使用MD5作為系統密碼機制的UNIX作業平台,目前僅在SUN Solaris 2.6 7.0、Linux 6.X、Linux 7.0Mandrake 7.0平台上測試過,其餘系統因為機制及程式路徑不同,可能需要進行參數設定或修改原始程式。

2。相依套件

  本程式需使用 Apache4wam 作為網頁伺服器,並使用Perl MD5 及 FastCGI及Quota 模組,以上套件均已內含於 WAM 中並會自動進行安裝。

3。安裝步驟

4。系統架構

  1.59 版以後改以 Apache4wam 作為執行平台,1.58 版以前為miniserver版,已不維護.

安裝路徑 檔案名稱  功能說明
/usr/libexec/wam/ install 安裝wam用的script
/usr/libexec/apache_wam/ Apache伺服器 wam 專用的 Apache(由李忠憲老師最小化並改寫部分安裝程序)
/usr/libexec/wam/ wam.cgi wam主程式
/usr/libexec/wam/ count.cgi 多人計數器主程式
/usr/libexec/wam/ gbook.cgi 多人留言版主程式
/usr/libexec/wam/ count_demo.cgi 瀏覽計數器用的主程式
/usr/libexec/wam/ fix.cgi 自動製作群組檔的主程式
/usr/libexec/wam/ gifcat.pl 產生計數器圖檔的主程式
/usr/libexec/wam/ help_root.htm 您看的這個說明檔
/usr/libexec/wam/ help_user.htm 一般使用者的說明檔
/usr/libexec/wam/ wam.conf 儲存系統組態設定
/usr/libexec/wam/ group.conf 自動產生之群組組態檔,請不要自行修改內容
/usr/libexec/wam/ share.conf 自動產生之共享資料夾組態檔,請不要自行修改內容
/usr/libexec/wam/ index.tmp 自動產生之首頁範本檔,可以自行修改內容
/usr/libexec/wam/neomail/ neomail套件 李忠憲老師改寫的 neomail,只能與 WAM 結合,無法單獨運作
/usr/libexec/wam/img/ *.gif  一堆圖片,網頁介面用的
/usr/libexec/wam/images/ *.gif  一堆圖片,電子相簿網頁介面用的
/usr/libexec/wam/digits/ *.gif  計數器用的圖片

FAQ常見問題 回目錄

  1. 程式無法支援您的作業系統(詳見安裝說明)。
  2. 作業系統不是使用MD5加密機制,這可以由觀察 /etc/shadow 檔的密碼長度來判斷,MD5 密碼共34Bytes。
  3. 您沒有安裝相依套件,請下載安裝。
  4. 安裝時您沒有以 root 帳號登入,請重新以 root 登入後再安裝。
  5. wam服務未於開機後自動執行,請檢查 /etc/rc.d/rc.local ,是否能找到下面這一行 
    /usr/libexec/apache_wam/bin/apachectl start
    如果找不到請自己補上去。
  6. 您更新的cgi主程式權限設定不正確,沒有設定為700。請執行 chmod 700 wam.cgi
  7. 您沒有把主程式檔頭下面的 $cgi_url 變數指到正確的路徑,如果你是以 Apache 執行,請將該行修改為 $cgi_url = '/cgi-bin/wam.cgi';
  8. 當您使用windows的記事本或wordpad等編輯器,手動修改主程式或設定檔時,您沒有轉存成Linux看得懂的Unix文字檔,最常出現的訊息是:錯誤500(Internal Server Error)
  9. 您修改了安全存取規則中的〔授與〕與〔拒絕〕IP 存取。結果把自己檔在門外。如果你使用授與存取,請將執行此程式的工作站的 IP 打進去。如果你使用拒絕存取,請把要執行此程式的工作站 IP 移除。(除非有特殊考量,建議用拒絕以下ip存取,然後規則不用填)
  10. 連上WAM後,出現「您無權從此位置執行」的錯誤訊息,請檢查 /etc/hosts 檔,標示真實 Domain Name 的那一行必須是第一行,請把 localhost 那一行降為第二行。
  11. 使用 neomail 速度緩慢。第一次使用 neomail 時,文字資料庫檔案尚未建立索引,因此讀取效能不佳,請從選單點取每一個郵件資料夾,這時系統會自動建立索引,所有資料夾都建立索引後,會在資料夾名稱後方顯示(0/0),這樣執行速度就會變得非常快。

分項使用說明 回目錄

主選單說明簡介

畫面及功能

參數設定(重要)

 安全存取控制中,您可以指定授與哪些 IP 來存取本程式,如我想只給校內兩組C-class(假IP)用,就可以鍵入如左圖規則(兩個規則中間要以分號﹔分隔開來
 系統設定檔與郵件信箱位置通常是固定的不需修改,除非你用的OS不是Linux。程式路徑則視您的安裝位置來修改,使用rpm安裝的,通常不需要改。
 選擇與Samba密碼同步,可以在新增帳號、重設密碼或變更密碼、刪除帳號時,同步為您更新Samba密碼檔,以配合網芳來使用主機資源。
 如果你要建立大量帳號,建議你使用巢狀家目錄,這樣使用者磁碟空間才會容易管理。
 一般少量帳號(特權帳號)通常使用一個階層﹔研習班實習用帳號,使用兩個階層﹔全校學生帳號,才會用到三個階層。
 密碼格式通常使用與帳號相同,如安全要求較高,可以使用亂數密碼,將密碼表列印出來備查。
 如果有特別為某些帳號,使用獨立硬碟分割(partition),則使用者家目錄的位置,就需要修改。
 登入檔和殼層是使用者Telnet時才用得到,所以可以不去理它。
選擇同時建立使用者網頁目錄之後,可自行指定網頁目錄名稱,但必須自己手動修改 Apache 的設定檔來相互配合。同時,帳號建立時會將首頁範本檔拷貝到使用者目錄,所以需事先編輯該範本檔。
 帳號屬性應用,例如:老師配額限制500mb,每半年強迫變更密碼﹔學生帳號低配額限制20mb,不允許變更密碼﹔家長帳號高配額限制,一年未使用即凍結帳號,兩年帳號到期需重新申請......等。






wpe7.jpg (95611 個位元組)

設定管理員

 

wpe9.jpg (46950 個位元組)

新增群組

 建帳號時並不需要先新增群組,這個功能只是保留以備不時之需。

 如果使用巢狀家目錄,可以指定該群組帳號擺放的路徑。

 已經存在的群組會自動列在下面表格中。

wpeB.jpg (54884 個位元組)
新增單一帳號

 會自動根據組態檔中的設定值,建立使用者帳號。如果主群組有指定存放路徑,也會一體遵循。
建帳號前,請先檢查參數設定是否是您想要的設定值。

wpeD.jpg (39560 個位元組)
手動新增整批帳號

 手動新增帳號用於大部分有自訂帳號名稱或密碼的教職員。

 您必須先建立一個純文字檔,欄位如說明,上傳到主機後會自動建立帳號。該純文字檔可以是 DOS/Windows 格式。

wpeF.jpg (48231 個位元組)
自動新增整批帳號

 特別適用於中小學學生使用者,或需建立大量流水帳號,非常實用。程式會替各階層分別建立適當的群組後,再依照您的需要,分別建立使用者帳號。
 補零的功能,只會把缺少的位數補零。如果貴校班級有8班,您又想補零,就需填上從01到08

wpe11.jpg (53476 個位元組)
刪除帳號或群組

 本功能中最特別的是字串比對例如您要刪除一年級帳號只要輸入stu1就可以找出全部一年級學生的群組和帳號了。

wpe13.jpg (41199 個位元組)
重設密碼

 root 身分可以重設整個群組的密碼,這在畢業班畢業後,或研習時臨時開的試用帳號時,非常好用。重設多個群組可以使用字串比對方式處理。

wpe15.jpg (41939 個位元組)
帳號檢查

 替您執行  grpck 和 pwck 系統命令,然後輸出到瀏覽器給您看。

wpe17.jpg (58595 個位元組)
檢視帳號結構

 用來檢查目前已經建立的使用者,其階層式群組,以及家目錄位置的分布情形。

wpe1C.jpg (35525 個位元組)
追蹤使用紀錄

 可以檢視有駭客傾向的使用者執行過的命令。

wpe19.jpg (40798 個位元組)
郵件管理員

 本程式內含 Neomail WEB 郵件服務,詳細說明請自行到 Neomail 站台查閱 。

按這裡看使用說明

 

wpe1E.jpg (48876 個位元組)
檔案管理員

 比起WebSpace之類的程式,這個檔案總管功能齊全多了。

 目錄和檔案用不同的顏色來區別,介面盡量做到直覺化使用。特別適合中高年級小朋友使用。

 只要把做好的網頁用本程式,上傳到使用者的網頁家目錄,作品就可以直接上網。

 學生也可以回家下載自己的作品,經過修改後上傳回主機。這樣,有興趣的學生就不會抱怨電腦課的時間太短暫了。

wpe20.jpg (142276 個位元組)
共享資料夾

 提供使用者share資料夾及可寫入的空間。
 步驟:用ROOT登入,在檔案管理員中先建立一個資料夾,勾選資料夾,安下〔設定為共享〕後,指派資料夾的讀寫權限。
 若要變更權限,可以切換到共享資料夾,按〔變更設定〕即可。
 範例:本校以Linux主機上的FTP資料夾/home/ftp/pub 作為共享目錄,並以ftp的upload資料夾設定為可以寫入的暫存區。並有交作業用資料夾。

wpe23.jpg (72235 個位元組)
管理數字圖庫

 網頁用的計數器圖庫管理,可以自己按〔新圖庫〕來新增0.gif ~9.gif 給使用者做網頁時應用。

 圖檔名稱不需先改名,程式會自動幫你改好。

wpe25.jpg (85816 個位元組)
設定計數器
 學生只要在網頁中加入一個連結,每一頁網頁上都可以擁有計數器了。<img src=http://hostname:12000/count.cgi>

*計數器新功能:
 可以動態指定要使用哪一頁的count、風格、顯示位數以及要不要檢查ip ,
例如:
<img src=http://hostname:12000/count.cgi?page=index.htm&style=7&check_ip=no&digits=5>

wpe27.jpg (66921 個位元組)
查看參觀人數

 當用到計數器的網頁越來越多,使用者會想管理眾多網頁的計數器。這裡提供計數刪除服務。

wpe29.jpg (76441 個位元組)
設定留言版

*留言版使用方法 
 直接在學生網頁增加一個link ,連到
 http://hostname:12000/gbook.cgi 
 或是動態指定user,例如:
 http://hostname:12000/gbook.cgi?user=root

wpe2B.jpg (57163 個位元組)
管理留言內容

 提供查看秘密留言與刪除留言功能。

wpe2D.jpg (68925 個位元組)
登出系統

 本程式使用完畢一定要登出系統,要不然cookies還會留在您的電腦中,有心人就很容易取得root的MD5密碼了(不必太擔心,編密過的啦!)。


手工打造 WAM 專用 Apache

本文是針對進階管理員想要自行編譯 Apache 而不想使用李忠憲老師改版的 Apache4wam,可以參考下文來作修改,當然修改結果與直接安裝 Apache4wam 不一樣,這是因為沒有將 Apache 模組最小化的結果,至於如何將 Apache 最小化,請自行到 Apache 官方網站尋找詳細文件,在此不多作說明。

一、下載 Apache 原始套件

請下載 tar.gz 版本,不要使用 RPM 版本,否則將無法依照 WAM 的需求來進行修改。下載的地點很多,可以到 Apache 官方站台查詢,如果找不到可以到這裡抓取。

在 WAM 的下個版本,也會將修改過的 Apache 一併附在一起自動幫你安裝。目前還在作測試,請大家稍等。

二、安裝 Apache

  1. 以 root 登入後,使用 tar zxvf apache_1.3.19.tar.gz 將 Apache 套件解壓縮。
  2. cd apa* 切換到 Apache 的原始目錄
  3. 執行 ./configure --prefix=/usr/libexec/apache_wam 來修改安裝程式的設定檔。這個指令是告訴安裝程式,要把 Apache 安裝在 /usr/libexec/apache_wam 目錄下。
  4. cd src 切換到 Apache 的原始程式碼資料夾
  5. 以文書編輯工具修改 Configuration 檔案,找到下面這一行

    EXTRA_CFLAGS= 

    將它修改為

    EXTRA_CFLAGS= `$(SRCDIR)/apaci` -DBIG_SECURITY_HOLE

    這是要讓 Apache 可以用 root 身分來執行,當然這是一個很危險的作法,對網站安全也有很大的影響,請務必下載最新版本的 Apache 以免留下系統漏洞,被駭客利用。(當然,往後還是要不斷修補漏洞)

  6. 改好後執行 ./Configure ,以便產生新的編譯設定檔。
  7. cd .. 切換目錄到上一層,回到 Apache 的原始目錄裡
  8. 執行 make 將 Apache 編譯成二進位檔
  9. 執行 make install 將 Apache 安裝到剛才指定的目錄裡(/usr/libexec/apache_wam)

三、修改 Apache 設定檔

  1. cd /usr/libexec/apache_wam/conf 切換到安裝好的 Apache 設定檔目錄內
  2. 修改 httpd.conf 重點如下(紅色部分為修改後的結果):

    Port 12000
    .............................
    User root
    Group root
    .............................
    DocumentRoot "/usr/libexec/wam"
    .............................
    <Directory "/usr/libexec/wam">
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    .............................
    <IfModule mod_userdir.c>
    # UserDir public_html
    </IfModule>
    .............................
    <IfModule mod_dir.c>
    DirectoryIndex wam.cgi
    </IfModule>
    .............................
    AddHandler cgi-script .cgi .pl(將此行開頭的 # 去除後再修改)

    修改的目的是:讓 Apache 服務 12000 port 進來的網頁要求,並且以 root 身分來執行程式;網站的預設目錄指到 WAM 的主目錄(/usr/libexec/wam),並開啟執行 CGI 的功能;將使用者個人網頁功能關閉(個人網頁由系統原本的 Apache 來提供),以降低安全風險;將預設首頁改為 wam.cgi ;最後是建立 .cgi 和 .pl 的程式關聯。

四、啟動 Apache 及開機啟動設定

  1. 鍵入 /usr/libexec/apache_wam/bin/apachectl start 來啟動 Apache

  2. 修改 /etc/rc.d/rc.local 檔案,將

    /usr/libexec/wam/start

    改為

    /usr/libexec/apache_wam/bin/apachectl start

    這是為了讓系統重開機後,會自動去執行 Apache for wam


回目錄