對於剛剛接觸Unix的系統管理員來說,正確高效地完成各種關鍵的系統配置簡直是一件不可能的任務。即使是一個很有經驗的Unix的管理員,也常常會為某些復雜的配置文件的格式而苦惱。因此擁有一個Unix上的GUI管理工具一直是廣大Unix愛好者的美好願望。這裡作者將介紹一個基於Web的Unix管理工具Webmin。對Webmin的介紹分為兩個部分:第一部分著眼於Webmin的主要功能和使用,第二部分探討Webmin的技術內幕並介紹如何編寫一個Webmin的管理模塊。本文是對Webmin介紹的第一部分。 什麼是Webmin 簡單地說,Webmin是一個基於Web的Unix系徹芾砉摺9芾碓蓖ü榔鞣夢蔠ebmin的各種管理功能並完成相應的管理動作。目前Webmin支持絕大多數的Unix系統,這些系統除了各種版本的Linux以為還包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。 相對於其他GUI管理工具而言,Webmin具有如下顯著優點: Web管理方式使得Webmin同時具有本地和遠程管理的能力; 插件式結構使得Webmin具有很強的擴展性和伸縮性。目前Webmin提供的標准管理模塊幾乎涵蓋了常見的Unix管理,而且第三方的管理模塊也被不斷地被開發出來; 訪問控制和SSL支持為遠程管理提供了足夠的安全性; 國際化支持,提供多國語言版本 安裝Webmin 某些Linux發行版本已經預裝了Webmin,譬如OpenLinux和中軟Linux。如果你的Linux版本中不包含Webmin,你可以下載Webmin的RPM包和TARBALL來安裝。 下面是TAR BALL的安裝步驟: 安裝Webmin需要先安裝perl5.0.6或以上版本。如果目標系統上沒有安裝perl的話,需要到http://www.cpan.org下載並安裝{perl-for- linux},同時需要安裝常用的perl模塊;如果你需要Webmin支持SSL,你還需要安裝OpenSSL和perl模塊Net::SSLeay。 到http://www.webmin.com/webmin下載webmin-0.91.tar.gz 把 webmin-0.91.tar.gz 解包到你想安裝Webmin的目錄,譬如/usr/local/webmin 運行安裝腳本setup.pl。安裝過程會詢問Webmin配置文件目錄、Log目錄和系統的監聽端口(缺省是10000),還會要求你設置管理員密碼。安裝腳本還會把Webmin安裝成系統的守護進程,在開啟系統時自動啟動。 重新啟動系統,訪問http://localhost:10000,如果出現了Webmin的登錄界面就說明安裝成功了。 使用Webmin的管理UNIX系統 前面已經說過,所有的管理功能都是以模塊的形式插入到Webmin中的。Webmin對形形色色的管理模塊進行了分類。主要的類別有:Webmin、系統、服務、硬件和其他。當你成功登錄到達Webmin的首頁時,這些類別將以不同的屬性頁展現在你的面前,下圖就是一個Webmin服務器的首頁。 下面介紹0.91版中各個類別提供的標准管理模塊: Webmin 管理模塊 主要功能 Webmin活動日志 查看Webmin上的管理活動 Webmin配置 配置Webmin本身 Webmin用戶管理 管理Webmin的用戶 查找Webmin服務器 查找網絡上其他的Webmin服務器 系統 管理模塊 主要功能 Change PassWords 改變Unix系統中用戶的密碼,相當於passwd命令 Cron任務調度 配置/etc/crontab,管理定時調度的任務 NFS輸出 配置/etc/eXPorts,管理系統的NFS服務的輸出點 NIS Client和Server 配置/etc/yp.conf、/etc/nsswitch.conf和/var/yp/securenets,管理NIS的客戶端和服務器 PAM Authentication 配置/etc/pam.d/,管理可插入認證模塊PAM Scheduled Commands 管理at命令調度的任務 SysV初始化配置 配置/etc/inittab,管理系統的啟動參數 磁盤和網絡文件系統 配置/etc/fstab,管理系統mount的文件系統 磁盤限額 管理系統中磁盤的使用限額 進程管理器 查看系統中運行的進程,相當於ps命令 軟件包 系統安裝包的管理,相當於rpm命令 使用手冊 查找系統中的幫助文件,這些幫助文件包括man pages,perl doc 和Webmin的幫助 系統日志 配置/etc/syslog.conf,管理和查看系統日志 引導和關機 配置/etc/rc.d/,管理系統中守護進程 用戶和群組 配置/etc/passwd、/etc/group和/etc/shadow,系統的用戶管理 服務 管理模塊 主要功能 Apache服務 配置Apache服務器 BIND 4 DNS 服務器 配置BIND 4 DNS服務器 BIND 8 DNS 服務器 配置 BIND 8 DNS 服務器 DHCP服務器 配置動態IP服務器 FTP服務器 配置wu-ftpd Fetchmail Mail Retrival 配置fetchmail Majordomo 列表管理 配置majordomo mysql數據庫管理器 配置MySQL服務器 PPP帳號 配置/etc/ppp/pap-secrets,管理PPP的用戶 Postfix配置 配置postfix PostgreSQL數據庫服務器 配置PostgreSQL服務器 ProFTP Server 配置ProFTP服務器 Qmail Configuration 配置Qmail郵件服務器 SSH Server 配置SSH服務器 Samba Windows 文件共享 配置Samba服務器 SendMail 配置 配置 sendmail Squid 配置 配置Squid代理服務器 Xinetd服務配置 配置/etc/xinetd.conf和/etc/xinetd.d/,管理系統中啟動的Internet服務 硬件 管理模塊 主要功能 Linux磁盤陣列 配置/etc/raidtab,管理Linux磁盤陣列 Linux啟動管理 配置/etc/lilo.conf,管理Linux的系統啟動參數 本地磁盤分區 管理本地磁盤分區 打印機管理 管理打印機 網絡配置 配置網絡接口、域名服務器、路由網關等 系統時間 查看和設置系統時間,相當於date命令 Cluster 管理模塊 主要功能 Cluster Software Package 用於管理Linux集群 Cluster Users and Groups 用於管理Linux集群 HeartBeat Monitor 用於管理Linux集群 其他 管理模塊 主要功能 Command Shell 在Linux服務器上執行一個命令 Perl 模塊 管理perl的模塊 SSH/Telnet 登錄 一個支持SSH的Telnet客戶端 文件管理器 一個類似於Windows資源管理器的文件管理模塊,管理Linux服務器上的文件 系統和服務器的狀態 查看系統中各種服務器(如HTTP、FTP、Samba,MySQL等)運行狀態 用戶自定義命令 定義常用的命令 除了以上標准Webmin管理模塊以外,還存在一些第三方的模塊。這些模塊包括防火牆IPTables的管理模塊和入侵檢測系統Snort的管理模塊等。 管理Webmin 除了管理Unix系統外,Webmin還提供了管理Webmin本身的模塊。對Webmin本身的管理主要包括: 模塊管理:這一部分包括插入一個模塊、刪除一個模塊、復制一個模塊和重新設置模塊所在的類別等。另外Webmin還提供了直接從Internet上升級的功能。 界面風格管理:Webmin提供多種界面風格,0.91版中提供了KDE和Caldera兩種界面風格。Webmin的界面風格實際上也是一個模塊,你可以插入一個新的界面風格。除此之外,你還可以修改Webmin的一些界面參數,如頁面背景顏色、表格背景顏色等。 國際化支持:Webmin的一個很大特色是提供多國語言支持。目前Webmin支持的語言有:英、法、德、意、中、日、韓等語言。 Webmin服務器群:Webmin還提供了發現和管理多個Webmin服務器的功能,這為同時管理多台UNIX服務器提供了極大的便利。 活動日志:Webmin的活動日志主要用於審計系統的管理活動。 Webmin的安全性 由於Webmin是基於Web的管理工具,所以Webmin本身的安全的重要性就不言而喻了。Webmin的安全性主要體現在如下三個方面: SSL支持:通過設定Webmin支持SSL,你可以通過https訪問Webmin。SSL不僅會認證你的Webmin服務器,而且還會對管理的過程中的網絡通信進行加密。 用戶訪問控制:用戶訪問控制使得管理員能夠控制每個模塊能夠由哪些用戶訪問,訪問某個模塊的用戶能夠對該模塊進行哪些操作等。 IP訪問控制:IP訪問控制可以限定哪些IP地址可以訪問這個Webmin服務器,不在訪問列表內的IP地址的訪問將被禁止。 通過這些安全性加強,你大可以安心地使用Webmin作為你的系統管理工具。 結語 Webmin提供了簡單的可擴展的GUI管理工具,隨著管理模塊的不斷豐富,Webmin一定能夠成為管理小型Unix系統的利器。但是因為缺少有效的集成手段和分布式管理機制,Webmin很難用於管理大型Unix系統。 參考資料 從http://www.webmin.com/webmin/download.Html下載最新版Webmin 從http://webmin.thirdpartymodules.com/ 下載第三方Webmin的管理模塊 從http://www.webmin.com/webmin/index2.html 獲取Webmin用戶手冊 從http://www.webmin.com/webmin/index3.html 獲取Webmin的技術文檔 在http://www.sourceforge.net 上查找第三方Webmin的管理模塊 關於作者 金戈,IBM中國開發實驗室軟件工程師,2001年獲中科院計算機科學碩士學位。主要研究方向是Linux、Java、軟件工程和中間件技術。曾在《軟件學報》等國家核心刊物上發表多篇論文,並主持開發過多個Linux和Java項目。
<