WAM帳號管理員】使用說明 
下載wam最新版 ■WAM留言版


目錄


什麼是WAM 回目錄

WAMWeb-base Account Manager的縮寫,中文就稱為帳號管理員是由李忠憲老師所開發的作品。主要是為了降低一般使用者或學生使用Linux Web+Mail主機的門檻而創作的,因此設計時的方向與一般以管理員(root)角度來考量的系統有別,例如:webmin、eServer......等等,主要是提供給管理員管理主機資源使用,而WAM則可以讓一般使用者(而不僅只是管理員),直接透過網頁進行主機資源的取用與操作。

WAM主要應用於單一主機提供大量Mail帳號及網頁空間,更理想的是主機上提供 Samba 服務的方案裡,該主機有整合NT網路芳鄰的需求,需要系統密碼與Samba同步,需要設定磁碟配額,想提供使用者線上網頁製作,郵件收發.....等應用環境時,特別能展現程式強大易用的功能。


版權聲明 回目錄

本程式基於開放程式碼(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 模組,以上套件均已內含於 WAM 中並會自動進行安裝。

3。安裝步驟

     Apache版:

4。系統架構

  1.59 版以後改以 Apache4wam 作為執行平台,1.58 版以前為miniserver版

Apache版

安裝路徑 檔案名稱  功能說明
/usr/libexec/wam/ install 安裝wam用的script
/usr/libexec/apache4wam/ 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.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/digits/ *.gif  計數器用的圖片

FAQ常見問題 回目錄

  1. 程式無法支援您的作業系統(詳見安裝說明)。
  2. 作業系統不是使用MD5加密機制,這可以由觀察 /etc/shadow 檔的密碼長度來判斷,MD5 密碼共34Bytes。
  3. 您沒有安裝相依套件,請下載安裝。
  4. 安裝時您沒有以 root 帳號登入,請重新以 root 登入後再安裝。
  5. miniserver未自動執行,請檢查 /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)
    小建議:若想要透過Samba,在Windows98網路上的芳鄰中,用滑鼠拖放來編輯的話,建議使用免費的文字編輯器:新版EditPad.exe(267K),它可以直接轉存成Unix看得懂的檔案。
  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 的設定檔來相互配合。同時,帳號建立時會將首頁範本檔拷貝到使用者目錄,所以需事先編輯該範本檔。
 帳號屬性應用,例如:老師不要有配額限制,每半年強迫變更密碼﹔學生帳號低配額限制,不允許變更密碼﹔家長帳號高配額限制,一年未使用即凍結帳號,兩年帳號到期需重新申請......等。

安全存取控制 授與以下IP存取拒絕以下IP存取
規則
系統殼層檔
系統群組檔
系統群組隱藏檔
系統密碼檔
系統密碼隱藏檔
郵件信箱路徑
Sendmail主程式
Samba密碼檔
Samba密碼程式
是否與Samba密碼同步
是否使用巢狀家目錄
自動帳號階層數
自動帳號的密碼格式
設定亂數密碼範圍
使用者家目錄的位置
使用者登入檔範本的位置
使用者登入殼層
是否同時建立網頁目錄
使用者網頁目錄名稱

編修首頁範本檔

幾天後可以變更密碼
幾天後強迫變更密碼
幾天後提示密碼變更訊息
帳號幾天未使用即凍結
帳號幾天後到期
帳號狀態
磁碟配額比照哪一個使用者
設定管理員

 

新增群組

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

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

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

新增群組

目錄位置

目前已建立之群組

adm bin console daemon dd
pppusers root seansue slipusers slocate
sys tty user users utmp
uucp wheel xfs
新增單一帳號

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

使用者名稱
密碼
主要群組
加入成為管理員

手動新增整批帳號

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

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

上傳之檔案必須是純文字檔,格式如下:
使用者名稱 群組名稱 密碼
例如:
shane  teacher  mypasswd
每個欄位之間空一格,一個帳號寫一行,
最後一行必須是空白行。

請選取檔案
自動新增整批帳號

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

帳號前置碼(如stu)
第二階層流水號(年級數) 年級
第三階層流水號(班級數)
帳號流水號(坐號)
要補零
注意:建立好的帳號將會是
”帳號前置碼+第二階層流水號+第三階層流水號+帳號流水號。如stu50108”
刪除帳號或群組

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

使用者名稱
群組名稱
(組織或單位編號)
字串比對
(比對帳號名稱)
重設密碼

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

使用者名稱
群組名稱
(組織或單位編號)
字串比對
(比對帳號名稱)
密碼重設為
帳號檢查

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

現在檢查使用者群組

                         
        

現在檢查使用者帳號

user adm: directory /var/adm does not exist
pwck: no changes
檢視帳號結構

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

檢視使用者帳號結構樹

群組名稱
(組織或單位編號)
/home/user
|-- shane
|   `-- public_html
`-- test
    `-- public_html

4 directories
追蹤使用紀錄

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

使用者名稱
ls -la
cd ..
ls
exit
su
clear
su
exit
郵件管理員

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

按這裡看使用說明

 

無信件
編寫新信 檢查信箱 個人偏好設定 通訊錄 信件匣 設定郵件規則     設定外部郵件 收取所有外部郵件     清空垃圾桶
 
狀態 (未讀優先)
日期 ^ 寄件者 主旨 大小
全選
 
  [頁 / 1]     搜尋  

Neomail Professional 1.01

檔案管理員

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

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

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

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

目前所在資料夾是:/home/httpd
所有檔案 名 稱 類型 權限 擁有人 群組 大小 修改日期

以下功能中更名、移動、拷貝必須選取單一目錄或檔案改權限、改擁有人、刪除、下載
以複選









全選  《家目錄》 上傳檔案數:
不選  回上層 目錄 0755 root root 4096 89/8/3 08:36:15
cgi-bin 目錄 0755 root root 4096 89/8/10 18:26:38
html 目錄 0755 root root 4096 89/7/28 15:27:44
icons 目錄 0755 root root 4096 89/6/22 23:32:09
webmindocument 目錄 0755 root root 4096 89/7/26 17:56:30
perl-MD5-1.7-6.i386.rpm 檔案 0744 root root 15421 89/7/20 10:51:58
wam-1.47-2.i386.rpm 檔案 0744 root root 40868 89/7/20 10:53:00
webmin-0.80.tar.gz 檔案 0744 root root 1955968 89/7/24 08:54:42
webmindocument.zip 檔案 0744 root root 6385948 89/7/24 08:56:21
 
共享資料夾

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

全選 名 稱 下載 上傳 建目錄 編修 刪除 對應目錄

說明:
以下功能中更名必須選取
單一目錄或檔案
刪除、下載可以複選

   
共享檔案 ˇ /home/ftp/pub
暫存區 ˇ ˇ ˇ ˇ ˇ /home/ftp/upload
交作業 ˇ ˇ ˇ ˇ /home/works
 
 
 
管理數字圖庫

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

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

  圖  庫 名稱
0123456789 01
0123456789 02
0123456789 03
0123456789 04
設定計數器
 學生只要在網頁中加入一個連結,每一頁網頁上都可以擁有計數器了。<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>

計數器起始值
參觀人次每次增加
顯示幾位數
IP 不同時才增加?
選擇計數器風格
0123456789
0123456789
查看參觀人數

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

  網頁名稱 人次 最後參觀者IP
刪除 / 10162 163.17.222.2
刪除 cc2class/compclass.php?begdate=2000-11-13 541 140.131.204.5
刪除 schoolboard/schoolboard.php3?do=read_msg&board=school_board&msg_id=1&order=desc&cur_page=1 567 163.27.51.35
刪除 schoolboard/schoolboard.php3?do=read_msg&board=school_board&msg_id=3&order=desc&cur_page=1 549 140.131.204.189
設定留言版

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

留言版抬頭
每頁顯示幾筆留言
是否分頁: 不分頁
排序模式: 依訪客姓名 依張貼日期
管理留言內容

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

刪除 留言日期 留言者 電子郵件 留言主題 留言內容 留言模式
89/11/23 19:14:33 蔡啟新 td52051@mail.zmjhs.tyc.edu.tw Wam下載群組寄信問題 李老師您好:
謝謝您設計的Wam讓我們的確從中獲益良多...
普通
登出系統

 本程式使用完畢一定要登出系統,要不然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


回目錄