H2003032079_徐斌_基于Linux的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn)_第1頁(yè)
H2003032079_徐斌_基于Linux的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn)_第2頁(yè)
H2003032079_徐斌_基于Linux的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn)_第3頁(yè)
H2003032079_徐斌_基于Linux的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn)_第4頁(yè)
H2003032079_徐斌_基于Linux的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

分類(lèi)號(hào) 分類(lèi)號(hào) TP315TP315 U U D D C C D10621 D10621 408408 2007 2007 58135813 0 0 密密 級(jí) 公級(jí) 公 開(kāi)開(kāi) 編編 號(hào) 號(hào) 20030320792003032079 成成 都都 信信 息息 工工 程程 學(xué)學(xué) 院院 學(xué)學(xué) 位位 論論 文文 基于基于 Linux 的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn)的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn) 論文作者姓名 論文作者姓名 徐斌徐斌 申請(qǐng)學(xué)位專(zhuān)業(yè) 申請(qǐng)學(xué)位專(zhuān)業(yè) 網(wǎng)絡(luò)工程網(wǎng)絡(luò)工程 申請(qǐng)學(xué)位類(lèi)別 申請(qǐng)學(xué)位類(lèi)別 工學(xué)學(xué)士工學(xué)學(xué)士 指指導(dǎo)導(dǎo)教教師師姓姓名名 職職稱(chēng)稱(chēng) 方睿 副教授 方睿 副教授 論文提交日期 論文提交日期 20072007 年年 0606 月月 0505 日日 基于基于 Linux 的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn)的遠(yuǎn)程管理系統(tǒng)客戶(hù)端的實(shí)現(xiàn) 摘摘 要要 本系統(tǒng)分析了 Linux 操作系統(tǒng)的特點(diǎn) 遠(yuǎn)程管理的各種方法和 Webmin 并 給出了一個(gè)遠(yuǎn)程管理 Linux 服務(wù)器的具體實(shí)現(xiàn)方法 利用 PHP 語(yǔ)言來(lái)構(gòu)建了一 個(gè)遠(yuǎn)程管理系統(tǒng) PHP Webmin 以 Web 的形式來(lái)實(shí)現(xiàn) Linux 服務(wù)器的遠(yuǎn)程 管理 簡(jiǎn)化了管理難度 并使管理方式更為靈活 從而達(dá)到了減輕系統(tǒng)管理員 壓力 方便系統(tǒng)管理員管理服務(wù)器的目的 在此系統(tǒng)中實(shí)現(xiàn)了文件操作管理 遠(yuǎn)程運(yùn)行 shell 命令 對(duì)系統(tǒng)進(jìn)程的監(jiān)控 對(duì)系統(tǒng)的關(guān)機(jī) 重啟 對(duì)系統(tǒng)用戶(hù) 組的操作 rpm 包組的管理 對(duì)網(wǎng)絡(luò)參數(shù)的查 看與配置 對(duì)常見(jiàn)服務(wù)器的基本管理等功能 系統(tǒng)管理員可使用系統(tǒng)中的各功 能模對(duì)整個(gè) Linux 服務(wù)器進(jìn)行日常管理 此系統(tǒng)能夠應(yīng)用于對(duì)小型 Linux 服務(wù) 器的遠(yuǎn)程管理 關(guān)鍵詞關(guān)鍵詞 Linux 遠(yuǎn)程管理 Webmin PHP The implement of Client of the system of remote management based on Linux Abstract The characteristics of the operating system of Linux every method of remote management and Webmin are analyzed and the details of implement of one of remote management Server methods are given The remote management system PHP Webmin is constructed by the language of PHP The remote management is done through the pages of Web so it makes the remote management more simple and flexible and the administrator feel less pressed and manages the Server more conveniently There are many functions such as the management of operation of files using command of shell remotely watching the system shutting down and rebooting the system the operation of users and groups of system the management of groups of packets of rpm the checking of the parameters of network and the management of the familiar Server have been implemented in the system The administrator can manage the Server of Linux by using the functions of this system This system can be applied to the remote management of small Server of Linux Key words Linux telecontrol Webmin PHP 目目 錄錄 論文總頁(yè)數(shù) 23 頁(yè) 1引言 1 1 1背景 1 1 2當(dāng)前現(xiàn)狀 1 1 3選題意義 1 1 4設(shè)計(jì)模式 2 2LINUX 遠(yuǎn)程管理分析 2 2 1LINUX操作系統(tǒng) 2 2 1 1Linux 究竟是什么 2 2 1 2學(xué)習(xí) Linux 2 2 2LINUX遠(yuǎn)程管理 3 2 2 1遠(yuǎn)程管理方法 3 2 2 2Webmin 初解 4 2 2 3PHP Webmin A simple webmin on PHP 5 3需求分析 5 3 1任務(wù)概述 5 3 1 1目標(biāo) 5 3 1 2工作模式 6 3 1 3運(yùn)行環(huán)境 6 3 1 4編程語(yǔ)言 6 3 1 5用戶(hù)特點(diǎn) 6 3 2具體需求 6 3 2 1功能需求 6 3 2 2系統(tǒng)流程 7 4總體設(shè)計(jì) 8 4 1模塊劃分與功能設(shè)計(jì) 8 4 2功能模塊的初步設(shè)計(jì) 8 5詳細(xì)設(shè)計(jì) 10 5 1服務(wù)器設(shè)計(jì) 10 5 1 1更改 Apache 配置 10 5 1 2服務(wù)器特殊配置 11 5 2命令操作模塊設(shè)計(jì) 12 5 2 1功能描述 12 5 2 2界面設(shè)計(jì) 12 5 2 3工作流程 12 5 3系統(tǒng)操作模塊設(shè)計(jì) 13 5 3 1功能描述 13 5 3 2界面設(shè)計(jì) 13 5 3 3工作流程 15 6系統(tǒng)安裝使用與測(cè)試 19 6 1服務(wù)器設(shè)置 19 6 2使用系統(tǒng) 19 6 3測(cè)試 19 6 3 1基本測(cè)試 19 6 3 2功能測(cè)試 20 結(jié) 論 21 參考文獻(xiàn) 21 致 謝 22 聲 明 23 第 1 頁(yè) 共 23 頁(yè) 1 1引言引言 1 11 1 背景背景 LAMP Linux Apache MySQL PHP Perl 近幾年來(lái)發(fā)展迅速 已經(jīng)成 為 Web 服務(wù)器的事實(shí)標(biāo)準(zhǔn) 這個(gè)術(shù)語(yǔ)代表了 Linux 平臺(tái)上的 Apache 網(wǎng)站服 務(wù)器 MySQL 數(shù)據(jù)庫(kù)以及 PHP Perl 編程語(yǔ)言的結(jié)合 LAMP 不僅會(huì)成為企業(yè) 接入互聯(lián)網(wǎng) 也應(yīng)該會(huì)在企業(yè)內(nèi)部網(wǎng)絡(luò)建設(shè)中大有作為 提到開(kāi)放源代碼 你 馬上就會(huì)意識(shí)到 Linux 操作系統(tǒng) Linux 是開(kāi)放源碼軟件的代表 目前有越來(lái) 越多的網(wǎng)站把他們的 Web 服務(wù)器架構(gòu)在 Linux 操作系統(tǒng)之上 因?yàn)?Linux 能 夠提供健壯的 Web 應(yīng)用 LAMP 所代表的不僅僅是開(kāi)放源碼 它更是開(kāi)發(fā)和實(shí) 施高性能 Web 應(yīng)用的重要平臺(tái) 1 21 2 當(dāng)前現(xiàn)狀當(dāng)前現(xiàn)狀 隨著互聯(lián)網(wǎng)的高速發(fā)展以及 Linux 企業(yè)應(yīng)用的成熟 Linux 被廣泛應(yīng)用于 服務(wù)器領(lǐng)域 如何實(shí)現(xiàn) Linux 的遠(yuǎn)程管理成為網(wǎng)絡(luò)管理員的首要任務(wù) 接觸過(guò) 遠(yuǎn)程操作的朋友 肯定會(huì)立即說(shuō)出若干個(gè)相關(guān) windows 操作系統(tǒng)軟件 PCanywhere Netop Remote Control 可是 Linux 下軟件都有哪些呢 我們 應(yīng)該如何選擇適合自己的遠(yuǎn)程操作軟件呢 這對(duì)于一些甚少接觸遠(yuǎn)程操作的朋 友而言無(wú)疑是個(gè)關(guān)注的話(huà)題 Linux 操作系統(tǒng)源于 Unix 以其精小靈活穩(wěn)定的特性 加上其源代碼完全公 開(kāi) 幾乎秉承了 Unix 系統(tǒng)的所有優(yōu)點(diǎn) 贏(yíng)得了很多用戶(hù)的青睞 但是 Linux 的管 理操作界面是單一的命令行方式 1 31 3 選題意義選題意義 不知 Linux 服務(wù)器的系統(tǒng)管理員有沒(méi)有過(guò)人不在主機(jī)前 卻又必須掌握主 機(jī)信息的經(jīng)驗(yàn) 比如服務(wù)器在成都 偏偏管理員卻出差到北京去了 這時(shí)該怎 么辦呢 想說(shuō)找人來(lái)幫你到服務(wù)器面前看一下 又擔(dān)心管理員密碼給了別人會(huì) 出狀況 想要通過(guò) Telnet 或者 ssh 這類(lèi)遠(yuǎn)程登錄的方式來(lái)達(dá)到遠(yuǎn)程控制的目的 可偏偏手邊又沒(méi)有 client 程序可用 或者當(dāng)初為了安全性考慮 完全沒(méi)有在服 務(wù)器上安裝可供遠(yuǎn)程控制的 server 這時(shí)候真是心有余力不足啊 而且 對(duì)于剛剛接觸 Linux 的系統(tǒng)管理員來(lái)說(shuō) 正確高效地完成各種關(guān)鍵 的系統(tǒng)配置簡(jiǎn)直是一件不可能的任務(wù) 即使是一個(gè)很有經(jīng)驗(yàn)的 Linux 的管理員 也常常會(huì)為某些復(fù)雜的配置文件的格式而苦惱 本軟件的開(kāi)發(fā)主要是為了方便 網(wǎng)絡(luò)系統(tǒng)管理員對(duì)本地和遠(yuǎn)程安裝了 Linux 系統(tǒng)的服務(wù)器進(jìn)行管理 增加管理 的方便性 利用 B S 結(jié)構(gòu)也從另外一方面減少了管理員的勞動(dòng)量 管理員利用 瀏覽器在遠(yuǎn)程登錄后 可以方便的對(duì)服務(wù)器進(jìn)行運(yùn)行狀態(tài)的查看 對(duì)網(wǎng)絡(luò)服務(wù) 進(jìn)行配置 對(duì)一些數(shù)據(jù)進(jìn)行分析 而且可以對(duì)異?,F(xiàn)象作出快速的反應(yīng) 第 2 頁(yè) 共 23 頁(yè) 1 41 4 設(shè)計(jì)設(shè)計(jì)模式模式 瀏覽器Web服務(wù)器PHP引擎PHP腳本 圖 1 設(shè)計(jì)模式 本系統(tǒng)的開(kāi)發(fā)要求采用 B S 結(jié)構(gòu) 如圖 1 所示 本系統(tǒng)模擬 Webmin 進(jìn)行設(shè) 計(jì)與開(kāi)發(fā) 因此 首先了解 Webmin 的相關(guān)功能 結(jié)合本次畢業(yè)設(shè)計(jì)的相關(guān)要求 寫(xiě)出需求分析 其次 綜合運(yùn)用以前所學(xué)的相關(guān)知識(shí)選擇所熟悉的開(kāi)發(fā)工具進(jìn) 行本畢業(yè)設(shè)計(jì)的開(kāi)發(fā) 在設(shè)計(jì)中以需求分析為基礎(chǔ) 寫(xiě)出系統(tǒng)開(kāi)發(fā)計(jì)劃 實(shí)現(xiàn) 流程及相關(guān)問(wèn)題的實(shí)現(xiàn)方法 最后 系統(tǒng)開(kāi)發(fā)完畢后 進(jìn)行調(diào)試和測(cè)試 做好 調(diào)試和測(cè)試的相關(guān)記錄 整個(gè)管理系統(tǒng)中 用文件操作模塊作為突破口 首先設(shè)計(jì)整體頁(yè)面 再寫(xiě) 出文件操作部分以深入了解該系統(tǒng)的工作方式及系統(tǒng)的大致面貌 然后設(shè)計(jì) Shell 命令解釋與執(zhí)行部分操作和進(jìn)程操作部分 繼而逐步增加其他的功能與 模塊 最后對(duì)整個(gè)系統(tǒng)進(jìn)行修飾整理 從而完成了該系統(tǒng) 2 2LinuxLinux 遠(yuǎn)程管理分析遠(yuǎn)程管理分析 2 12 1 LinuxLinux 操作系統(tǒng)操作系統(tǒng) 2 1 12 1 1 LinuxLinux 究竟是什么 究竟是什么 Linux 操作系統(tǒng)是 UNIX 操作系統(tǒng)的一種克隆系統(tǒng) 它是一位赫爾辛基大 學(xué)學(xué)生 Linus Torvalds Linux 是 Linus s UNIX 的縮寫(xiě) 創(chuàng)造的 它誕生于 1991 年的 10 月 5 日 這是第一次正式向外公布的時(shí)間 借助于 Internet 網(wǎng)絡(luò) 并經(jīng)過(guò)全世界各地計(jì)算機(jī)愛(ài)好者的共同努力下 Linux 現(xiàn)已成為今天世 界上使用最多的一種 UNIX 類(lèi)操作系統(tǒng) 并且使用人數(shù)還在迅猛增長(zhǎng) Linux 操作系統(tǒng)的誕生 發(fā)展和成長(zhǎng)過(guò)程始終依賴(lài)著五個(gè)重要支柱 UNIX 操作系統(tǒng) MINIX 操作系統(tǒng) GNU 計(jì)劃 POSIX 標(biāo)準(zhǔn)和 Internet 網(wǎng)絡(luò) 用最簡(jiǎn)單的話(huà)說(shuō) Linux 是一個(gè)操作系統(tǒng) Linux 本身實(shí)際上只是其內(nèi)核 它實(shí)現(xiàn)了多任務(wù)和多用戶(hù)功能 管理硬件 分配內(nèi)存并且使應(yīng)用程序能夠運(yùn)行 2 1 22 1 2 學(xué)習(xí)學(xué)習(xí) LinuxLinux 您希望用 Linux 系統(tǒng)做什么將決定您想要什么樣的 Linux 系統(tǒng) 以及在 開(kāi)始使用該系統(tǒng)之前要對(duì)它有多深的理解 Linux 是進(jìn)行內(nèi)核研究 學(xué)習(xí) UNIX 或?qū)W習(xí)編程的絕佳學(xué)習(xí)平臺(tái) 有許多 工具和應(yīng)用程序可用來(lái)玩游戲 進(jìn)行桌面排版或者只是閑來(lái)無(wú)事發(fā)一下電子郵 件和瀏覽 Web 它也是開(kāi)放和封閉式生產(chǎn)系統(tǒng)的絕佳平臺(tái) 因?yàn)榭勺杂傻貙?duì)其 進(jìn)行最大程度的定制 Linux 可以作為各種事物的平臺(tái) 從中間件到嵌入式計(jì) 第 3 頁(yè) 共 23 頁(yè) 算和群集 從并行超級(jí)計(jì)算機(jī)到小玩意兒 IBM 已經(jīng)參與了制造在 Linux 上運(yùn) 行的收銀機(jī)的項(xiàng)目 以及制造 Linux 手表的項(xiàng)目 其他開(kāi)發(fā)人員已經(jīng)在手機(jī) 和 Sony PlayStation 上使用了 Linux 如果完全不了解 Linux 或者正在使用 Linux 作為桌面操作系統(tǒng) 那么您 至少需要學(xué)習(xí)一些有關(guān)系統(tǒng)管理和安全性的基本知識(shí) Linux 是作為編程平臺(tái)的絕佳選擇 它符合 GCC 這意味著您可以使用 GNU 項(xiàng)目出色的編程與調(diào)試工具套件 絕對(duì)免費(fèi) 而且享有 GNU GPL 保證的所 有自由 2 1 32 1 3 LinuxLinux 遠(yuǎn)程管理遠(yuǎn)程管理 遠(yuǎn)程控制是在網(wǎng)絡(luò)上由一臺(tái)電腦 主控端 Remote 客戶(hù)端 遠(yuǎn)距離去控制 另一臺(tái)電腦 被控端 Host 服務(wù)器端 的技術(shù) 這里的遠(yuǎn)程不是字面意思的遠(yuǎn) 距離 一般指通過(guò)網(wǎng)絡(luò)控制遠(yuǎn)端電腦 不過(guò) 大多數(shù)時(shí)候我們所說(shuō)的遠(yuǎn)程控制 往往指在局域網(wǎng)中的遠(yuǎn)程控制而言 當(dāng)操作者使用主控端電腦控制被控端電腦 時(shí) 就如同坐在被控端電腦的屏幕前一樣 可以啟動(dòng)被控端電腦的應(yīng)用程序 可以使用被控端電腦的文件資料 甚至可以利用被控端電腦的外部打印設(shè)備 打印機(jī) 和通信設(shè)備 調(diào)制解調(diào)器或者專(zhuān)線(xiàn)等 來(lái)進(jìn)行打印和訪(fǎng)問(wèn)互聯(lián)網(wǎng) 就像你利用遙控器遙控電視的音量 變換頻道或者開(kāi)關(guān)電視機(jī)一樣 2 1 42 1 4 遠(yuǎn)程管理遠(yuǎn)程管理方法方法 目前主要的應(yīng)用于 Linux 的遠(yuǎn)程連接技術(shù)大致分為以下三種 1 基于命令行的方式 Linux 命令 telnet telnet 在 linux 和 windows 下均可用 只要打 開(kāi)相應(yīng)的服務(wù)即可 telnet 的所有數(shù)據(jù)在網(wǎng)絡(luò)上都是明文傳輸 所以 也有安全隱患 在實(shí)際的生產(chǎn)系統(tǒng)中也基本上廢棄不用 而轉(zhuǎn)用更安全 的 ssh 但是在某些場(chǎng)合 如內(nèi)部局域網(wǎng)絡(luò) telnet 還是有用武之地 的 ssh 和 telnet 類(lèi)似 但是數(shù)據(jù)在網(wǎng)絡(luò)上是加密后再傳輸?shù)?rlogin rsh等r系列命令 因?yàn)橛休^大的安全隱患 所以現(xiàn)在基本上廢 棄不用 基于ssh的客戶(hù)端軟件 Secure SSH 或PUTTY等客戶(hù)端工具通過(guò)ssh服務(wù) 來(lái)實(shí)現(xiàn)Windows下管理Linux服務(wù)器的 這些客戶(hù)端工具配置使用簡(jiǎn)單 但是它們都無(wú)法啟動(dòng)窗口服務(wù)的程序或進(jìn)程 也無(wú)法達(dá)到遠(yuǎn)程桌面控制 說(shuō)明 命令行的管理方式適合進(jìn)行初始化 網(wǎng)卡配置等基本操作 不適合 做豐富的管理功能 第 4 頁(yè) 共 23 頁(yè) 2 Web 管理方式 Web 管理方式是另一種管理工具 這種方式提供了簡(jiǎn)單的管理界面 適合 那些功能不是很多的管理工作 Linux 下有一個(gè)著名的基于 Web 的管理工具 Webmin 而 PHP Webmin 的設(shè)計(jì)初衷就是參照利用 Webmin 來(lái)實(shí)現(xiàn)對(duì)服務(wù)器的簡(jiǎn) 單管理 使用基于 Web 的管理方式 簡(jiǎn)單明了操作方便 適合簡(jiǎn)單的管理工作 3 基于管理端軟件的圖形界面方式 基于管理端軟件的圖形界面方式一般需要完成對(duì)系統(tǒng)的配置 管理和監(jiān)控 圖形的管理方式直觀(guān) 是一種重要的管理工具 適合進(jìn)行復(fù)雜的配置 連接多 臺(tái)服務(wù)器 同時(shí)支持豐富的審計(jì)和日志的功能 2 1 52 1 5 WebminWebmin 初解初解 對(duì)于剛剛接觸 Linux 的系統(tǒng)管理員來(lái)說(shuō) 正確高效地完成各種關(guān)鍵的系統(tǒng) 配置簡(jiǎn)直是一件不可能的任務(wù) 即使是一個(gè)很有經(jīng)驗(yàn)的 Linux 的管理員 也常 常會(huì)為某 些復(fù)雜的配置文件的格式而苦惱 因此擁有一個(gè) Linux 上的 GUI 管理 工具一直是廣大 Linux 愛(ài)好者的美好愿望 這里將介紹的 Webmin 就是這樣一個(gè) 基于 Web 的 Linux 管理工具 1 什么是 WEBMIN 簡(jiǎn)單地說(shuō) Webmin 是一個(gè)基于 Web 的 Linux 系統(tǒng)管理工具 系統(tǒng)管理員 Webmin 的各種管理功能并完成相應(yīng)的管理動(dòng)作 目前 Webmin 支持絕大多數(shù)的 Linux 系統(tǒng) 這些系統(tǒng)除了各種版本的 Linux 以為還包括 AIX HPUX Solaris Unixware Irix 和 FreeBSD 等 2 WEBMIN 安裝 Webmin 使用 perl 腳本編寫(xiě) 安裝 Webmin 需要先安裝 perl5 0 6 或以上版 本 如果目標(biāo)系統(tǒng)上沒(méi)有安裝 perl 的話(huà) 需要到 http www cpan org 下載并 安裝 perl for linux 同時(shí)需要安裝常用的 perl 模塊 如果你需要 Webmin 支 持 SSL 你還需要安裝 OpenSSL 和 perl 模塊 Webmin 的安裝很簡(jiǎn)單 下載 webmin tar gz 后用 tar xvzf webmin tar gz 解壓 運(yùn)行安裝腳本 setup pl 安裝過(guò)程會(huì)詢(xún)問(wèn) Webmin 配置文件 目錄 Log 目錄和系統(tǒng)的監(jiān)聽(tīng)端口 缺省是 10000 還會(huì)要求你設(shè)置管理員密 碼 安裝腳本還會(huì)把 Webmin 安裝成系統(tǒng)的守護(hù)進(jìn)程 在開(kāi)啟系統(tǒng)時(shí)自動(dòng)啟動(dòng) 重新啟動(dòng)系統(tǒng) 訪(fǎng)問(wèn) http localhost 10000 如果出現(xiàn)了 Webmin 的登錄界 面就說(shuō)明安裝成功了 所有的管理功能都是以模塊的形式插入到 Webmin 中的 Webmin 對(duì)形形色 色的管理模塊進(jìn)行了分類(lèi) 主要的類(lèi)別有 Webmin 系統(tǒng) 服務(wù) 硬件和 其他 第 5 頁(yè) 共 23 頁(yè) 當(dāng)你成功登錄到達(dá) Webmin 的首頁(yè)時(shí) 這些類(lèi)別將以不同的屬性頁(yè)展現(xiàn)在你的面 前 2 1 62 1 6 PHPPHP WebminWebmin A A simplesimple webminwebmin onon PHPPHP PHP Webmin 是一個(gè)遠(yuǎn)程管理工具 它參照 Webmin 使用 PHP 來(lái)實(shí)現(xiàn)基于 Web 的對(duì)系統(tǒng)的簡(jiǎn)單管理 使用簡(jiǎn)單的 GUI 管理工具 實(shí)現(xiàn)對(duì) Linux 服務(wù)器的 遠(yuǎn)程管理 達(dá)到幫助系統(tǒng)管理員 減輕系統(tǒng)管理員負(fù)擔(dān)的目的 所以 可以把 PHP Webmin 說(shuō)成是一個(gè)構(gòu)建在 PHP 上的簡(jiǎn)單 Webmin A simple webmin on PHP 3 3需求分析需求分析 3 13 1 任務(wù)概述任務(wù)概述 3 1 13 1 1 目標(biāo)目標(biāo) 本系統(tǒng)的開(kāi)發(fā)主要是為了方便網(wǎng)絡(luò)系統(tǒng)管理員對(duì)本地和遠(yuǎn)程安裝了 Linux 系統(tǒng)的服務(wù)器進(jìn)行管理 增加管理的方便性 利用 B S 結(jié)構(gòu) 減少了管理員的 勞動(dòng)量 管理員利用瀏覽器在遠(yuǎn)程登錄后 可以方便的對(duì)服務(wù)器進(jìn)行運(yùn)行狀態(tài) 的查看 對(duì)網(wǎng)絡(luò)服務(wù)進(jìn)行配置 對(duì)一些數(shù)據(jù)進(jìn)行分析 并對(duì)異常現(xiàn)象做出快速 的反應(yīng) 本系統(tǒng)的目標(biāo)是完成一個(gè)基于 WEB 的 Linux 上的 GUI 管理工具 給 Linux 系統(tǒng)管理員提供幫助 協(xié)助 Linux 系統(tǒng)管理員正確高效的完成各種關(guān)鍵的系統(tǒng) 配置 如遠(yuǎn)程的文件操作 Shell 命令執(zhí)行 進(jìn)程操作 系統(tǒng)操作 各種網(wǎng)絡(luò) 服務(wù)配置等等 管理員通過(guò)瀏覽器訪(fǎng)問(wèn)次管理系統(tǒng)的各種管理功能并完成相應(yīng) 的管理動(dòng)作 要求此管理系統(tǒng)同時(shí)具有本地和遠(yuǎn)程管理的能力 要求注意一定 的安全設(shè)置 保證足夠的安全性 在完成系統(tǒng)基本功能的前提下 注意一定的 擴(kuò)展和伸縮性 要求親近的管理界面和易用的操作 1 主要任務(wù) 運(yùn)用所學(xué)知識(shí) 開(kāi)發(fā)基于 Linux 的遠(yuǎn)程管理系統(tǒng) 以方便網(wǎng)絡(luò)系統(tǒng)管理員 在客戶(hù)端對(duì)本地或遠(yuǎn)程主機(jī)進(jìn)行管理 本系統(tǒng)要求實(shí)現(xiàn)的部分功能有 文件操 作 命令操作 進(jìn)程操作 系統(tǒng)操作 網(wǎng)絡(luò)操作 2 相關(guān)要求 1 本系統(tǒng)的開(kāi)發(fā)要求采用 B S 結(jié)構(gòu) 選用所熟悉的開(kāi)發(fā)工具及開(kāi)發(fā)環(huán)境進(jìn) 行本系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā) 2 本設(shè)計(jì)要求實(shí)現(xiàn)遠(yuǎn)程管理的功能 界面要簡(jiǎn)潔實(shí)用 功能要完善 第 6 頁(yè) 共 23 頁(yè) 3 1 23 1 2 工作模式工作模式 Internet PC 瀏覽器Linux服務(wù)器 Apache PHP引擎 PHP腳本 圖 2 系統(tǒng)工作模式 在系統(tǒng)的性能方面 B S 模式具有異地瀏覽和信息采集的靈活性 任何時(shí) 間 任何地點(diǎn) 任何系統(tǒng) 只要可以使用瀏覽器上網(wǎng) 就可以使用 B S 系統(tǒng)的 終端 B S 模式還具有管理維護(hù)集中方便 用戶(hù)使用簡(jiǎn)單 跨平臺(tái)等優(yōu)點(diǎn) 因此本系統(tǒng)采用 B S 模式 如圖 2 方便系統(tǒng)管理員在 Linux Win 等各種 系統(tǒng)中通過(guò)瀏覽器對(duì) Linux 主機(jī)進(jìn)行遠(yuǎn)程管理 3 1 33 1 3 運(yùn)行環(huán)境運(yùn)行環(huán)境 硬件環(huán)境 A PC 機(jī)或服務(wù)器一臺(tái) B 內(nèi)存 256M 以上 推薦 512M C PC 機(jī)需帶顯示器一個(gè) 軟件環(huán)境 A Linux Redhat 9 0 以上 Linux 操作系統(tǒng) B PHP4 或 PHP5 環(huán)境 C Apache 服務(wù)器 安裝 ssl 模塊 3 1 43 1 4 編程語(yǔ)言編程語(yǔ)言 PHP 是一種標(biāo)準(zhǔn)的 多用途的 面向?qū)ο蟮哪_本語(yǔ)言 此系統(tǒng)中主要使用 PHP 腳本語(yǔ)言來(lái)進(jìn)行具體功能實(shí)現(xiàn) 使用 html 與 javascript 來(lái)完成管理系統(tǒng) 頁(yè)面設(shè)計(jì) 3 1 53 1 5 用戶(hù)特點(diǎn)用戶(hù)特點(diǎn) 本系統(tǒng)針對(duì)的是 Linux 系統(tǒng)管理員 需要管理員對(duì) Linux 有一定程度了解 系統(tǒng)管理員需要理解服務(wù)器的遠(yuǎn)程管理 會(huì)使用 Linux 常用命令 即可使用本 系統(tǒng)對(duì) Linux 服務(wù)器監(jiān)視系統(tǒng)狀態(tài)和進(jìn)行諸如遠(yuǎn)程關(guān)機(jī) 重啟等操作 本系統(tǒng) 能輔助系統(tǒng)管理員更好的管理 Linux 服務(wù)器 3 23 2 具體需求具體需求 3 2 13 2 1 功能功能需求需求 對(duì) Linux 系統(tǒng)的管理 大致包括文件的管理 進(jìn)程的監(jiān)控 對(duì)系統(tǒng)信息的 第 7 頁(yè) 共 23 頁(yè) 監(jiān)控 對(duì)系統(tǒng)用戶(hù)和組的管理 對(duì)軟件包組的管理 對(duì)網(wǎng)絡(luò)信息的監(jiān)控 對(duì)網(wǎng) 絡(luò)服務(wù)的配置和管理等等方面 作為遠(yuǎn)程管理系統(tǒng) 應(yīng)包含上述功能 同時(shí)還 可設(shè)計(jì)一個(gè)可遠(yuǎn)程運(yùn)行系統(tǒng)命令的 shell 經(jīng)過(guò)分析 此系統(tǒng)主要包含功能應(yīng) 為 文件操作功能 系統(tǒng)命令運(yùn)行功能 進(jìn)程監(jiān)控功能 系統(tǒng)信息瀏覽功能 用戶(hù)與組管理功能 軟件包管理功能 網(wǎng)絡(luò)監(jiān)控功能 網(wǎng)絡(luò)服務(wù)配置與管理功 能等等 由于此系統(tǒng)是對(duì)服務(wù)器進(jìn)行遠(yuǎn)程管理 涉及到服務(wù)器關(guān)鍵系統(tǒng)命令及敏感 數(shù)據(jù) 因此在登錄時(shí)采用 SSL 安全連接 并進(jìn)行目錄訪(fǎng)問(wèn)控制 3 2 23 2 2 系統(tǒng)流程系統(tǒng)流程 通過(guò)SSL連接 登陸驗(yàn)證 通過(guò)驗(yàn)證管理模塊 腳本 注銷(xiāo) 是 否 調(diào)用腳本 進(jìn)行管理 返回登陸驗(yàn)證 認(rèn)證流程 管 理 流 程 注銷(xiāo)流程 圖 3 系統(tǒng)流程 如圖 3 所示 此系統(tǒng)工作流程分為三個(gè)部分 認(rèn)證流程 管理流程 注銷(xiāo) 流程 1 認(rèn)證流程 管理員端通過(guò)瀏覽器登錄此遠(yuǎn)程網(wǎng)絡(luò)服務(wù)管理系統(tǒng) 輸入此系統(tǒng)用戶(hù)名與 密碼 用戶(hù)名或密碼錯(cuò)誤則需重新輸入 正確則進(jìn)入此管理系統(tǒng) 獲得一定權(quán) 限 管理系統(tǒng)服務(wù) 2 管理流程 當(dāng)用戶(hù)正確進(jìn)入系統(tǒng)后 即可進(jìn)行系統(tǒng)管理 點(diǎn)擊某管理模塊 設(shè)置某項(xiàng) 服務(wù) 系統(tǒng)通過(guò)網(wǎng)絡(luò)發(fā)送命令到 Web 服務(wù)器 與服務(wù)器獲得交互 服務(wù)器通過(guò) PHP 引擎解析獲得命令 調(diào)用相應(yīng)腳本并執(zhí)行 獲得結(jié)果返回到遠(yuǎn)程主機(jī) 3 注銷(xiāo)流程 管理員完成遠(yuǎn)程主機(jī)更新或管理后 可點(diǎn)擊注銷(xiāo)以退出本遠(yuǎn)程管理系統(tǒng) 系統(tǒng)發(fā)送注銷(xiāo)命令到服務(wù)器 服務(wù)器使所登錄用戶(hù)失去管理權(quán)限 切斷用戶(hù)與 服務(wù)器的連接 返回到管理系統(tǒng)登錄頁(yè)面 第 8 頁(yè) 共 23 頁(yè) 4 4總體設(shè)計(jì)總體設(shè)計(jì) 4 14 1 模塊劃分與功能設(shè)計(jì)模塊劃分與功能設(shè)計(jì) 通過(guò)對(duì)系統(tǒng)的需求分析 把此 Linux 遠(yuǎn)程管理系統(tǒng)分為五個(gè)模塊 如圖 4 文件操作模塊 命令操作模塊 進(jìn)程操作模塊 系統(tǒng)操作模塊 網(wǎng)絡(luò)服務(wù)操作模塊 五個(gè)模塊的功能配合 再加上在對(duì) Apache 服務(wù)器的特殊配置 整體實(shí)現(xiàn)了 對(duì) Linux 服務(wù)器的遠(yuǎn)程管理與基本信息監(jiān)控 文件操作 命令操作 進(jìn)程操作 系統(tǒng)操作 網(wǎng)絡(luò)操作 Linux遠(yuǎn)程管理系統(tǒng) 圖 4 系統(tǒng)模塊 在整個(gè)系統(tǒng)設(shè)計(jì)中 本人完成里命令操作模塊與系統(tǒng)操作模塊 其余模塊 由合作者孫澤璽設(shè)計(jì)完成 4 1 14 1 1 功能模塊的初步設(shè)計(jì)功能模塊的初步設(shè)計(jì) 1 文件操作 在文件操作模塊中可以進(jìn)行查看文件或目錄 新建文件或目錄 刪除文件 或目錄 復(fù)制文件或目錄 編輯文件 上傳文件 下載文件等等操作 在此文 件操作模塊中需對(duì)服務(wù)器文件或目錄屬性有一定設(shè)置 2 命令操作 對(duì)各種 SHELL 命令的解釋與執(zhí)行 可執(zhí)行常用 Linux 命令 可在此模塊中 進(jìn)行進(jìn)程操作和系統(tǒng)操作等等 注意使用的是 Web 模式 無(wú)法執(zhí)行交互式 Shell 命令 第 9 頁(yè) 共 23 頁(yè) 如圖 5 所示 在設(shè)計(jì)中 使用一個(gè)表單獲得 commond 變量 提交給 system 函數(shù)后執(zhí)行 system sudo commond 并返回結(jié)果 獲取commond變量文本框輸入否 提交給system函數(shù) 執(zhí)行system函數(shù)并 顯示結(jié)果 是否為空 顯示出錯(cuò) 是 圖 5 命令操作設(shè)計(jì)流程 3 進(jìn)程操作 查看或終止正在運(yùn)行的進(jìn)程 查看開(kāi)啟的服務(wù)列表 端口號(hào) 對(duì)開(kāi)啟服務(wù) 進(jìn)行管理 查看當(dāng)前系統(tǒng)所有正在運(yùn)行的進(jìn)程并且可以對(duì)進(jìn)程進(jìn)行相關(guān)操作 4 系統(tǒng)操作 系統(tǒng)操作中包括 關(guān)機(jī)或重啟 查看系統(tǒng)信息 管理用戶(hù)和組 管理軟件 包 如圖 6 關(guān)機(jī)或重啟 查看系統(tǒng)信息 管理用戶(hù)和組 管理軟件包 系統(tǒng)操作 圖 6 系統(tǒng)操作模塊結(jié)構(gòu)圖 如圖 7 系統(tǒng)操作模塊的總體設(shè)計(jì)跟命令操作中類(lèi)似 使用表單獲取所需 運(yùn)行命令或參數(shù) 再提交給 system 函數(shù)執(zhí)行并返回結(jié)果 獲取子模塊的 相應(yīng)變量 選擇子模塊命令 調(diào)用system函數(shù)執(zhí)行 內(nèi)置命令 表單提交 參數(shù) 命令 參數(shù) 傳遞給system函 數(shù)執(zhí)行相應(yīng)命令 圖 7 系統(tǒng)操作總體流程 第 10 頁(yè) 共 23 頁(yè) 1 關(guān)機(jī)和重啟 可通過(guò)管理員點(diǎn)擊 Shutdown Reboot 按鈕 從而調(diào)用 system 函數(shù)執(zhí)行內(nèi)置的關(guān)機(jī) 重啟命令 也可在表單中輸入其他關(guān)機(jī) 或重啟命令并運(yùn)行 2 查看系統(tǒng)信息 通過(guò) switch 判斷提交的命令 并調(diào)用 system 函數(shù)執(zhí)行 內(nèi)置命令如 uname a fdisk l 等 包括查看 CPU 信息 查看分區(qū) 信息 查看內(nèi)核 3 管理用戶(hù)和組 可以查看系統(tǒng)擁有用戶(hù)和組 并通過(guò)簡(jiǎn)單的表單提交 進(jìn)行添加 刪除用戶(hù)或組的操作 詳見(jiàn)圖 8 用戶(hù) 組編輯頁(yè)提交給system函數(shù) 執(zhí)行system函數(shù)進(jìn)行 添加用戶(hù) 組操作 表單提交用戶(hù) 組保存頁(yè) 用戶(hù) 組查看 用戶(hù) 組添加 用戶(hù) 組刪除提交給system函數(shù) 執(zhí)行system函數(shù)進(jìn)行 刪除用戶(hù) 組操作 用戶(hù) 組刪除頁(yè) 提交給system函數(shù) 執(zhí)行內(nèi)置命令查詢(xún) 用戶(hù) 組并顯示結(jié)果 用戶(hù) 組管理 圖 8 用戶(hù) 組管理總體設(shè)計(jì)圖 4 管理軟件包 可以查看系統(tǒng)所有已安裝軟件包 并輸入關(guān)鍵字搜索查看 特定軟件包 以及根據(jù)搜索出的軟件包名進(jìn)行軟件包刪除操作 5 網(wǎng)絡(luò)服務(wù)操作 管理 Apache 服務(wù)器 查看并配置 Apache 服務(wù)器狀態(tài)與參數(shù) 管理 DNS 服務(wù)器 查看并配置 DNS 服務(wù)器參數(shù) 管理 MySQL 服務(wù)器 通過(guò) Web 進(jìn)行 Mysql 服務(wù)器的備份等 管理 DHCP 服務(wù)器 查看網(wǎng)絡(luò)狀態(tài) 配置網(wǎng)絡(luò)參數(shù) 5 5詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 5 15 1 服務(wù)器服務(wù)器設(shè)計(jì)設(shè)計(jì) 此管理系統(tǒng)的目的是對(duì) Linux 進(jìn)行遠(yuǎn)程管理 則在管理過(guò)程中需要對(duì) Linux 系統(tǒng)配置文件進(jìn)行讀取 或者運(yùn)行系統(tǒng)命令 訪(fǎng)問(wèn)系統(tǒng)敏感數(shù)據(jù)等 而 在 Linux 系統(tǒng)中 默認(rèn)的 Apache 用戶(hù)權(quán)限是無(wú)法訪(fǎng)問(wèn)管理系統(tǒng)所需文件 無(wú)法 運(yùn)行關(guān)鍵系統(tǒng)命令的 因此 需要對(duì) Apache 服務(wù)器進(jìn)行一些特殊配置 提升其 權(quán)限 并且需要考慮安全問(wèn)題 對(duì)用戶(hù)的認(rèn)證問(wèn)題等等 在本系統(tǒng)中 使用 SSL 連接 運(yùn)用 Apache 基本驗(yàn)證來(lái)認(rèn)證用戶(hù) 通過(guò)對(duì) Apache 服務(wù)器進(jìn)行特殊 配置 使其獲得 root 權(quán)限 完成遠(yuǎn)程管理 Linux 服務(wù)器的目的 第 11 頁(yè) 共 23 頁(yè) 5 1 15 1 1 更改更改 ApacheApache 配置配置 為了保證系統(tǒng)的安全性 在此對(duì) Apache Web 服務(wù)器的目錄執(zhí)行訪(fǎng)問(wèn)控制 使用 htaccess 訪(fǎng)問(wèn)文件和 htpasswd 程序?yàn)橐粋€(gè)目錄建立 ACL 來(lái)對(duì)用戶(hù)進(jìn) 行身份驗(yàn)證 并在 htaccess 文件中設(shè)置使用 SSL 連接 完善安全性 假設(shè) PHPWebmin 位于 var www phpwebmin 目錄中 配置 httpd conf 用 vi 編輯器打開(kāi) Apache 配置文件 httpd Conf 默認(rèn)在 etc httpd conf 目錄下 找到字段 在下面的屬性設(shè)置中添加或修改 AllowOverride ALL 此參數(shù)設(shè)置哪些目錄使用 htaccess 進(jìn)行保護(hù) 為所保護(hù)目錄建立 ACL 進(jìn)入 phpwebmin 目錄 cd var www phpwebmin 在此目錄下建立隱藏文件 htaccess 必須在 htaccess 文件前添加一個(gè)點(diǎn)號(hào) 如果不這樣做 就無(wú)法建立 ACL 因?yàn)辄c(diǎn)號(hào)表示建立一個(gè)隱藏文件 vi htaccess 在 htaccess 文件中輸 入如下代碼 SSLRequireSSL 使用SSL安全連接 AuthName PHP Webmin 驗(yàn)證名稱(chēng) AuthType Basic require valid user 允許password文件中的所有用戶(hù)訪(fǎng)問(wèn) AuthUserFile var www phpwebmin phpwebminpasswd 用戶(hù)身份數(shù)據(jù)庫(kù)文件 創(chuàng)建用戶(hù)身份驗(yàn)證數(shù)據(jù)庫(kù) 在命令行下輸入以下口令創(chuàng)建用戶(hù)身份驗(yàn)證數(shù)據(jù)庫(kù)文件 會(huì)要求你為用戶(hù) admin 創(chuàng)建密碼 htpasswd c var www phpwebmin phpwebminpasswd admin New password Re type new password 建立后的 phpwebminpasswd 文件內(nèi)容類(lèi)似于 admin Op96DPmXTKy5w 用戶(hù)名 MD5 加密后的密碼 若系統(tǒng)沒(méi)有安裝 htpasswd 也可在網(wǎng)上生成用戶(hù)名密碼后放入 phpwebminpasswd 文件 這樣 就已經(jīng)為 Apache 服務(wù)器建立了一個(gè)用戶(hù)賬號(hào)數(shù)據(jù)庫(kù) 并對(duì) phpwebmin 目錄實(shí)行了目錄保護(hù) 并實(shí)現(xiàn)了用戶(hù)基本驗(yàn)證 需要用安全連接 https localhost phpwebmin 進(jìn)行訪(fǎng)問(wèn) 訪(fǎng)問(wèn)過(guò)程中會(huì)彈出驗(yàn)證對(duì)話(huà)框 第 12 頁(yè) 共 23 頁(yè) 5 1 25 1 2 服務(wù)器特殊配置服務(wù)器特殊配置 Apache 的配置是為了實(shí)現(xiàn)目錄保護(hù)和基本驗(yàn)證 但為了提高用戶(hù)的權(quán)限 還需要對(duì)服務(wù)器進(jìn)行一些配置 查看 httpd conf 文件找到 User 字段 查看 Apache 啟動(dòng)用戶(hù) 默認(rèn)為 apache 編輯 etc passwd 文件 找到 apache 用戶(hù)行 修改其 shell 默認(rèn)為 bin nologin 或 bin false 為 bin bash 編輯 etc sudoers 文件 在文件中 root ALL ALL ALL 字段的下一行 添加 apache ALL NOPASSWORD ALL 使得 apache 用戶(hù)能夠通過(guò) sudo 命令執(zhí)行 所有命令 經(jīng)過(guò)此配置后 apache 用戶(hù)只要使用 sudo 命令即可獲得 root 權(quán)限 5 25 2 命令操作模塊設(shè)計(jì)命令操作模塊設(shè)計(jì) 5 2 15 2 1 功能描述功能描述 對(duì)命令的解釋與執(zhí)行 執(zhí)行常用 Linux 命令 通過(guò)前面的服務(wù)器配置后 使用戶(hù)在瀏覽器中用戶(hù)系統(tǒng) root 權(quán)限 執(zhí)行系統(tǒng)命令 注意使用的是 Web 模式 無(wú)法執(zhí)行交互式 Shell 命令 5 2 25 2 2 界面設(shè)計(jì)界面設(shè)計(jì) 頁(yè)面中僅有一個(gè)輸入框 一個(gè)提交按鈕 和一個(gè)結(jié)果顯示區(qū)域 如圖 9 圖 9 命令執(zhí)行 文本輸入框獲得 commond 變量 提交給 system 函數(shù)后運(yùn)行并把結(jié)果顯示在 textarea 中 input type text name command size 60 value 第 13 頁(yè) 共 23 頁(yè) result 具體代碼 5 2 35 2 3 工作流程工作流程 用戶(hù)在文本框中輸入并提交命令 點(diǎn)擊 go 運(yùn)行 在文本區(qū)域中返回并顯示 運(yùn)行結(jié)果 具體流程見(jiàn) 圖 4 命令操作設(shè)計(jì)流程 實(shí)現(xiàn)代碼如下 5 35 3 系統(tǒng)操作模塊設(shè)計(jì)系統(tǒng)操作模塊設(shè)計(jì) 系統(tǒng)操作模塊中又包括關(guān)機(jī)和重啟 查看系統(tǒng)信息 管理用戶(hù)和組 管理 軟件包四個(gè)子模塊 不同的子模塊采用相似的方式實(shí)現(xiàn)其功能 5 3 15 3 1 功能描述功能描述 系統(tǒng)關(guān)機(jī) 系統(tǒng)重啟 查看系統(tǒng) cpu 信息 查看硬盤(pán)信息 查看內(nèi)核 查看系統(tǒng)用戶(hù)和組 添加 刪除用戶(hù) 添加 刪除組 查看系統(tǒng)安裝軟件包 根據(jù)關(guān)鍵字搜索軟件包 根據(jù)軟件包全名刪 除軟件 5 3 25 3 2 界面設(shè)計(jì)界面設(shè)計(jì) 基本設(shè)計(jì)為 頁(yè)面上方為提交按鈕 下方為一個(gè)文本區(qū)域 點(diǎn)擊按鈕時(shí)調(diào) 用 system 函數(shù)運(yùn)行內(nèi)置命令 并在文本區(qū)域中返回結(jié)果 下面以用戶(hù) 組管理 模塊來(lái)說(shuō)明界面設(shè)計(jì)模式 如圖 10 所示 查看用戶(hù) 組頁(yè)界面代碼 具體代碼 第 14 頁(yè) 共 23 頁(yè) 圖 10 查看所有用戶(hù) 在管理用戶(hù)和組子模塊中 首先在 edit user html 頁(yè)中填寫(xiě) user 屬性 包括用戶(hù)名 用戶(hù)工作目錄 用戶(hù) shell 用戶(hù) uid 用戶(hù)密碼等參數(shù) 提交至 save user php 頁(yè)并運(yùn)行 useradd 操作 同時(shí)返回運(yùn)行結(jié)果 如圖 11 所示 編輯用戶(hù)頁(yè)面中 三個(gè)輸入框分別為用戶(hù)名獲取變量 user 用戶(hù) ID 獲取變量 uid 用戶(hù)目錄獲取變量 home 一個(gè)選擇框選擇用戶(hù) 默認(rèn) shell 獲取 shell 另一選擇是否需要密碼 需要?jiǎng)t輸入密碼獲取 encpass 使用一個(gè)提交按鈕 Creat 來(lái)提交所輸入的用戶(hù)信息至 save user php 頁(yè) 代碼如下 Username User ID Home directory Shell bin sh bin csh bin bash bin false sbin nologin Other Password 第 15 頁(yè) 共 23 頁(yè) No password required Encrypted password 圖 11 新建用戶(hù) 5 3 35 3 3 工作流程工作流程 1 用戶(hù)點(diǎn)擊關(guān)機(jī)與重啟子模塊 點(diǎn)擊 Shutdown 或 Reboot 按鈕產(chǎn)生關(guān)機(jī)或 重啟操作 也可執(zhí)行自定義關(guān)機(jī) 重啟命令 具體流程如圖 12 點(diǎn)擊Shutdown Reboot 按鈕 Shutdown 提交給 system函數(shù) 調(diào)用system函數(shù)執(zhí) 行init 0 判斷值獲取init變量 Reboot 提交 給system函數(shù) 調(diào)用system函數(shù)執(zhí) 行init 6 輸入關(guān)機(jī) 重啟命令獲取command變量 調(diào)用system函數(shù)執(zhí) 行sudo command 圖 12 關(guān)機(jī) 重啟操作流程 實(shí)現(xiàn)代碼如下 switch POST init 第 16 頁(yè) 共 23 頁(yè) case Shutdown echo Shutdown immediately n exec sudo init 0 break case Reboot echo Reboot immediately n exec sudo init 6 if POST command echo Waiting n exec sudo POST command if exec system exec echo nDone 2 打開(kāi)查看系統(tǒng)信息子模塊 查看 CPU Info Disk Info Kernel Version 流程如圖 13 點(diǎn)擊Kernel Version 調(diào)用system函數(shù)執(zhí)行 sudo uname a 點(diǎn)擊CPU info 調(diào)用system函數(shù)執(zhí)行 sudo cat proc cpuinfo 點(diǎn)擊Disk Info 調(diào)用system函數(shù)執(zhí)行 sudo fdisk l 圖 13 查看系統(tǒng)信息流程 實(shí)現(xiàn)代碼如下 3 打開(kāi)管理用戶(hù)和組子模塊 在初始頁(yè)面中可查看系統(tǒng)用戶(hù)和組 點(diǎn)擊查 看用戶(hù) 組按鈕時(shí) 調(diào)用 system 函數(shù)運(yùn)行 cat 命令 在文本區(qū)域中顯示 etc passwd 或 etc group 文件的內(nèi)容 點(diǎn)擊添加用戶(hù)連接進(jìn)入用戶(hù)的信息頁(yè)面 user edit html 填寫(xiě)用戶(hù)基本信 息 提交至添加頁(yè) user save php 運(yùn)行 sudo useradd 命令 完成添加操作 點(diǎn)擊刪除用戶(hù)連接 進(jìn)入刪除頁(yè)面 del user php 填寫(xiě)用戶(hù)名 運(yùn)行 sudo userdel 命令 完成刪除操作 工作流程見(jiàn) 圖 8 用戶(hù) 組管理總體設(shè)計(jì)圖 下 面為添加 刪除用戶(hù)代碼 添加用戶(hù)代碼 switch POST passmode case 0 passwd break case 1 passwd p POST encpass if POST home home d POST home user POST user uid u POST uid shell s POST shell commond sudo useradd POST user d POST home s POST shell u POST uid p POST encpass echo commond if commond system commond 刪除用戶(hù)代碼 commond sudo userdel POST user echo commond if commond system commond 4 打開(kāi)管理軟件包子模塊 查看系統(tǒng)已安裝軟件包 填寫(xiě)關(guān)鍵字搜索 根 據(jù)軟件包全名進(jìn)行刪除操作 軟件包管理流程如圖 14 第 18 頁(yè) 共 23 頁(yè) 輸入刪除關(guān)鍵字 調(diào)用system函數(shù)執(zhí)行sudo rpm e uninstall 提交uninstall變量 點(diǎn)擊Show All Package 調(diào)用system函數(shù)執(zhí)行sudo rpm qa 輸入搜索關(guān)鍵字提交search變量 調(diào)用system函數(shù)執(zhí)行sudo rpm qa grep search 圖 14 軟件包管理流程 查看已安裝軟件包代碼 switch POST package case Show all package echo Waiting n exec sudo rpm qa 根據(jù)關(guān)鍵字搜索代碼 if POST search echo Waiting n exec sudo rpm qa grep POST search if exec system exec 根據(jù)關(guān)鍵字刪除代碼 if POST uninstall echo Waiting n exec sudo e POST uninstall if exec if system exec echo nDone n elseecho Error Check your package name or operation 6 6系統(tǒng)安裝使用與測(cè)試系統(tǒng)安裝使用與測(cè)試 6 16 1 服務(wù)器設(shè)置服務(wù)器設(shè)置 按照 5 1 服務(wù)器設(shè)計(jì)中給出步驟 分別對(duì) Apache Web 服務(wù)器 及 Linux 服務(wù)器進(jìn)行配置 注意若不對(duì) etc sudoers 進(jìn)行配置 則本系統(tǒng)大部分功能無(wú) 第 19 頁(yè) 共 23 頁(yè) 法使用 也可省略對(duì) htaccess 和 phpwebminpasswd 的生成 使用源代碼中所帶的 ACL 文件和用戶(hù)密碼數(shù)據(jù)文件 請(qǐng)注意修改 htaccess 文件中 AuthUserFile 后 的字段指向相應(yīng)數(shù)據(jù)文件 默認(rèn)用戶(hù)名為 admin 密碼為 admin 6 1 16 1 1 使用系統(tǒng)使用系統(tǒng) 把 PHP Webmin 源代碼放至 var www phpwebmin 目錄 在瀏覽器中通過(guò) https localhost phpwebmin 進(jìn)行訪(fǎng)問(wèn)和測(cè)試 也可通過(guò)遠(yuǎn)程訪(fǎng)問(wèn)進(jìn)行測(cè)試 6 26 2 測(cè)試測(cè)試 6 2 16 2 1 基本測(cè)試基本測(cè)試 1 通過(guò) https 登錄并輸入用戶(hù)名和密碼 通過(guò)認(rèn)證則進(jìn)入主頁(yè)面 如圖 15 圖 15 主頁(yè)面 2 若使用 http 登錄則顯示 Forbidden 如圖 16 第 20 頁(yè) 共 23 頁(yè) 圖 16 Http 無(wú)法登錄 3 在未通過(guò)驗(yàn)證的情況下無(wú)法訪(fǎng)問(wèn)訪(fǎng)問(wèn)任何 phpwebmin 下級(jí)目錄 6 2 26 2 2 功能測(cè)試功能測(cè)試 使用 PHP Webmin 對(duì)系統(tǒng)進(jìn)行簡(jiǎn)單管理 1 運(yùn)行 Shell 命令 輸入 whoami 顯示結(jié)果為 root 如圖 9 所示 2 查看用戶(hù) 點(diǎn)擊 Show all user 在文本區(qū)域中顯示所有系統(tǒng)用戶(hù) 及 其主目錄 uid shell 如

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論