




免費預覽已結束,剩余29頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
畢畢 業(yè)業(yè) 設設 計計 論論 文文 基于基于 Linux 的遠程管理系統(tǒng)客戶端的實現(xiàn)的遠程管理系統(tǒng)客戶端的實現(xiàn) 論文作者姓名 論文作者姓名 申請學位專業(yè) 申請學位專業(yè) 申請學位類別 申請學位類別 指指導導教教師師姓姓名名 職職稱稱 論文提交日期 論文提交日期 基于基于 Linux 的遠程管理系統(tǒng)客戶端的實現(xiàn)的遠程管理系統(tǒng)客戶端的實現(xiàn) 摘摘 要要 本系統(tǒng)分析了 Linux 操作系統(tǒng)的特點 遠程管理的各種方法和 Webmin 并 給出了一個遠程管理 Linux 服務器的具體實現(xiàn)方法 利用 PHP 語言來構建了一 個遠程管理系統(tǒng) PHP Webmin 以 Web 的形式來實現(xiàn) Linux 服務器的遠程 管理 簡化了管理難度 并使管理方式更為靈活 從而達到了減輕系統(tǒng)管理員 壓力 方便系統(tǒng)管理員管理服務器的目的 在此系統(tǒng)中實現(xiàn)了文件操作管理 遠程運行 shell 命令 對系統(tǒng)進程的監(jiān)控 對系統(tǒng)的關機 重啟 對系統(tǒng)用戶 組的操作 rpm 包組的管理 對網(wǎng)絡參數(shù)的查 看與配置 對常見服務器的基本管理等功能 系統(tǒng)管理員可使用系統(tǒng)中的各功 能模對整個 Linux 服務器進行日常管理 此系統(tǒng)能夠應用于對小型 Linux 服務 器的遠程管理 關鍵詞關鍵詞 Linux 遠程管理 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 目目 錄錄 論文總頁數(shù) 23 頁 1引言 1 1 1背景 1 1 2當前現(xiàn)狀 1 1 3選題意義 1 1 4設計模式 2 2LINUX 遠程管理分析 2 2 1LINUX操作系統(tǒng) 2 2 1 1Linux 究竟是什么 2 2 1 2學習 Linux 2 2 2LINUX遠程管理 3 2 2 1遠程管理方法 3 2 2 2Webmin 初解 4 2 2 3PHP Webmin A simple webmin on PHP 5 3需求分析 5 3 1任務概述 5 3 1 1目標 5 3 1 2工作模式 6 3 1 3運行環(huán)境 6 3 1 4編程語言 6 3 1 5用戶特點 6 3 2具體需求 6 3 2 1功能需求 6 3 2 2系統(tǒng)流程 7 4總體設計 8 4 1模塊劃分與功能設計 8 4 2功能模塊的初步設計 8 5詳細設計 10 5 1服務器設計 10 5 1 1更改 Apache 配置 10 5 1 2服務器特殊配置 11 5 2命令操作模塊設計 12 5 2 1功能描述 12 5 2 2界面設計 12 5 2 3工作流程 12 5 3系統(tǒng)操作模塊設計 13 5 3 1功能描述 13 5 3 2界面設計 13 5 3 3工作流程 15 6系統(tǒng)安裝使用與測試 19 6 1服務器設置 19 6 2使用系統(tǒng) 19 6 3測試 19 6 3 1基本測試 19 6 3 2功能測試 20 結 論 21 參考文獻 21 致 謝 22 聲 明 23 第 1 頁 共 23 頁 1 1引言引言 1 11 1 背景背景 LAMP Linux Apache MySQL PHP Perl 近幾年來發(fā)展迅速 已經(jīng)成 為 Web 服務器的事實標準 這個術語代表了 Linux 平臺上的 Apache 網(wǎng)站服 務器 MySQL 數(shù)據(jù)庫以及 PHP Perl 編程語言的結合 LAMP 不僅會成為企業(yè) 接入互聯(lián)網(wǎng) 也應該會在企業(yè)內(nèi)部網(wǎng)絡建設中大有作為 提到開放源代碼 你 馬上就會意識到 Linux 操作系統(tǒng) Linux 是開放源碼軟件的代表 目前有越來 越多的網(wǎng)站把他們的 Web 服務器架構在 Linux 操作系統(tǒng)之上 因為 Linux 能 夠提供健壯的 Web 應用 LAMP 所代表的不僅僅是開放源碼 它更是開發(fā)和實 施高性能 Web 應用的重要平臺 1 21 2 當前現(xiàn)狀當前現(xiàn)狀 隨著互聯(lián)網(wǎng)的高速發(fā)展以及 Linux 企業(yè)應用的成熟 Linux 被廣泛應用于 服務器領域 如何實現(xiàn) Linux 的遠程管理成為網(wǎng)絡管理員的首要任務 接觸過 遠程操作的朋友 肯定會立即說出若干個相關 windows 操作系統(tǒng)軟件 PCanywhere Netop Remote Control 可是 Linux 下軟件都有哪些呢 我們 應該如何選擇適合自己的遠程操作軟件呢 這對于一些甚少接觸遠程操作的朋 友而言無疑是個關注的話題 Linux 操作系統(tǒng)源于 Unix 以其精小靈活穩(wěn)定的特性 加上其源代碼完全公 開 幾乎秉承了 Unix 系統(tǒng)的所有優(yōu)點 贏得了很多用戶的青睞 但是 Linux 的管 理操作界面是單一的命令行方式 1 31 3 選題意義選題意義 不知 Linux 服務器的系統(tǒng)管理員有沒有過人不在主機前 卻又必須掌握主 機信息的經(jīng)驗 比如服務器在成都 偏偏管理員卻出差到北京去了 這時該怎 么辦呢 想說找人來幫你到服務器面前看一下 又擔心管理員密碼給了別人會 出狀況 想要通過 Telnet 或者 ssh 這類遠程登錄的方式來達到遠程控制的目的 可偏偏手邊又沒有 client 程序可用 或者當初為了安全性考慮 完全沒有在服 務器上安裝可供遠程控制的 server 這時候真是心有余力不足啊 而且 對于剛剛接觸 Linux 的系統(tǒng)管理員來說 正確高效地完成各種關鍵 的系統(tǒng)配置簡直是一件不可能的任務 即使是一個很有經(jīng)驗的 Linux 的管理員 也常常會為某些復雜的配置文件的格式而苦惱 本軟件的開發(fā)主要是為了方便 網(wǎng)絡系統(tǒng)管理員對本地和遠程安裝了 Linux 系統(tǒng)的服務器進行管理 增加管理 的方便性 利用 B S 結構也從另外一方面減少了管理員的勞動量 管理員利用 瀏覽器在遠程登錄后 可以方便的對服務器進行運行狀態(tài)的查看 對網(wǎng)絡服務 進行配置 對一些數(shù)據(jù)進行分析 而且可以對異?,F(xiàn)象作出快速的反應 第 2 頁 共 23 頁 1 41 4 設計設計模式模式 瀏覽器Web服務器PHP引擎PHP腳本 圖 1 設計模式 本系統(tǒng)的開發(fā)要求采用 B S 結構 如圖 1 所示 本系統(tǒng)模擬 Webmin 進行設 計與開發(fā) 因此 首先了解 Webmin 的相關功能 結合本次畢業(yè)設計的相關要求 寫出需求分析 其次 綜合運用以前所學的相關知識選擇所熟悉的開發(fā)工具進 行本畢業(yè)設計的開發(fā) 在設計中以需求分析為基礎 寫出系統(tǒng)開發(fā)計劃 實現(xiàn) 流程及相關問題的實現(xiàn)方法 最后 系統(tǒng)開發(fā)完畢后 進行調(diào)試和測試 做好 調(diào)試和測試的相關記錄 整個管理系統(tǒng)中 用文件操作模塊作為突破口 首先設計整體頁面 再寫 出文件操作部分以深入了解該系統(tǒng)的工作方式及系統(tǒng)的大致面貌 然后設計 Shell 命令解釋與執(zhí)行部分操作和進程操作部分 繼而逐步增加其他的功能與 模塊 最后對整個系統(tǒng)進行修飾整理 從而完成了該系統(tǒng) 2 2LinuxLinux 遠程管理分析遠程管理分析 2 12 1 LinuxLinux 操作系統(tǒng)操作系統(tǒng) 2 1 12 1 1 LinuxLinux 究竟是什么 究竟是什么 Linux 操作系統(tǒng)是 UNIX 操作系統(tǒng)的一種克隆系統(tǒng) 它是一位赫爾辛基大 學學生 Linus Torvalds Linux 是 Linus s UNIX 的縮寫 創(chuàng)造的 它誕生于 1991 年的 10 月 5 日 這是第一次正式向外公布的時間 借助于 Internet 網(wǎng)絡 并經(jīng)過全世界各地計算機愛好者的共同努力下 Linux 現(xiàn)已成為今天世 界上使用最多的一種 UNIX 類操作系統(tǒng) 并且使用人數(shù)還在迅猛增長 Linux 操作系統(tǒng)的誕生 發(fā)展和成長過程始終依賴著五個重要支柱 UNIX 操作系統(tǒng) MINIX 操作系統(tǒng) GNU 計劃 POSIX 標準和 Internet 網(wǎng)絡 用最簡單的話說 Linux 是一個操作系統(tǒng) Linux 本身實際上只是其內(nèi)核 它實現(xiàn)了多任務和多用戶功能 管理硬件 分配內(nèi)存并且使應用程序能夠運行 2 1 22 1 2 學習學習 LinuxLinux 您希望用 Linux 系統(tǒng)做什么將決定您想要什么樣的 Linux 系統(tǒng) 以及在 開始使用該系統(tǒng)之前要對它有多深的理解 Linux 是進行內(nèi)核研究 學習 UNIX 或?qū)W習編程的絕佳學習平臺 有許多 工具和應用程序可用來玩游戲 進行桌面排版或者只是閑來無事發(fā)一下電子郵 件和瀏覽 Web 它也是開放和封閉式生產(chǎn)系統(tǒng)的絕佳平臺 因為可自由地對其 進行最大程度的定制 Linux 可以作為各種事物的平臺 從中間件到嵌入式計 第 3 頁 共 23 頁 算和群集 從并行超級計算機到小玩意兒 IBM 已經(jīng)參與了制造在 Linux 上運 行的收銀機的項目 以及制造 Linux 手表的項目 其他開發(fā)人員已經(jīng)在手機和 Sony PlayStation 上使用了 Linux 如果完全不了解 Linux 或者正在使用 Linux 作為桌面操作系統(tǒng) 那么您 至少需要學習一些有關系統(tǒng)管理和安全性的基本知識 Linux 是作為編程平臺的絕佳選擇 它符合 GCC 這意味著您可以使用 GNU 項目出色的編程與調(diào)試工具套件 絕對免費 而且享有 GNU GPL 保證的所 有自由 2 1 32 1 3 LinuxLinux 遠程管理遠程管理 遠程控制是在網(wǎng)絡上由一臺電腦 主控端 Remote 客戶端 遠距離去控制 另一臺電腦 被控端 Host 服務器端 的技術 這里的遠程不是字面意思的遠 距離 一般指通過網(wǎng)絡控制遠端電腦 不過 大多數(shù)時候我們所說的遠程控制 往往指在局域網(wǎng)中的遠程控制而言 當操作者使用主控端電腦控制被控端電腦 時 就如同坐在被控端電腦的屏幕前一樣 可以啟動被控端電腦的應用程序 可以使用被控端電腦的文件資料 甚至可以利用被控端電腦的外部打印設備 打印機 和通信設備 調(diào)制解調(diào)器或者專線等 來進行打印和訪問互聯(lián)網(wǎng) 就像你利用遙控器遙控電視的音量 變換頻道或者開關電視機一樣 2 1 42 1 4 遠程管理遠程管理方法方法 目前主要的應用于 Linux 的遠程連接技術大致分為以下三種 1 基于命令行的方式 Linux 命令 telnet telnet 在 linux 和 windows 下均可用 只要打 開相應的服務即可 telnet 的所有數(shù)據(jù)在網(wǎng)絡上都是明文傳輸 所以 也有安全隱患 在實際的生產(chǎn)系統(tǒng)中也基本上廢棄不用 而轉(zhuǎn)用更安全 的 ssh 但是在某些場合 如內(nèi)部局域網(wǎng)絡 telnet 還是有用武之地 的 ssh 和 telnet 類似 但是數(shù)據(jù)在網(wǎng)絡上是加密后再傳輸?shù)?rlogin rsh等r系列命令 因為有較大的安全隱患 所以現(xiàn)在基本上廢 棄不用 基于ssh的客戶端軟件 Secure SSH 或PUTTY等客戶端工具通過ssh服務 來實現(xiàn)Windows下管理Linux服務器的 這些客戶端工具配置使用簡單 但是它們都無法啟動窗口服務的程序或進程 也無法達到遠程桌面控制 說明 命令行的管理方式適合進行初始化 網(wǎng)卡配置等基本操作 不適合 做豐富的管理功能 第 4 頁 共 23 頁 2 Web 管理方式 Web 管理方式是另一種管理工具 這種方式提供了簡單的管理界面 適合 那些功能不是很多的管理工作 Linux 下有一個著名的基于 Web 的管理工具 Webmin 而 PHP Webmin 的設計初衷就是參照利用 Webmin 來實現(xiàn)對服務器的簡 單管理 使用基于 Web 的管理方式 簡單明了操作方便 適合簡單的管理工作 3 基于管理端軟件的圖形界面方式 基于管理端軟件的圖形界面方式一般需要完成對系統(tǒng)的配置 管理和監(jiān)控 圖形的管理方式直觀 是一種重要的管理工具 適合進行復雜的配置 連接多 臺服務器 同時支持豐富的審計和日志的功能 2 1 52 1 5 WebminWebmin 初解初解 對于剛剛接觸 Linux 的系統(tǒng)管理員來說 正確高效地完成各種關鍵的系統(tǒng) 配置簡直是一件不可能的任務 即使是一個很有經(jīng)驗的 Linux 的管理員 也常 常會為某 些復雜的配置文件的格式而苦惱 因此擁有一個 Linux 上的 GUI 管理 工具一直是廣大 Linux 愛好者的美好愿望 這里將介紹的 Webmin 就是這樣一個 基于 Web 的 Linux 管理工具 1 什么是 WEBMIN 簡單地說 Webmin 是一個基于 Web 的 Linux 系統(tǒng)管理工具 系統(tǒng)管理員 Webmin 的各種管理功能并完成相應的管理動作 目前 Webmin 支持絕大多數(shù)的 Linux 系統(tǒng) 這些系統(tǒng)除了各種版本的 Linux 以為還包括 AIX HPUX Solaris Unixware Irix 和 FreeBSD 等 2 WEBMIN 安裝 Webmin 使用 perl 腳本編寫 安裝 Webmin 需要先安裝 perl5 0 6 或以上版 本 如果目標系統(tǒng)上沒有安裝 perl 的話 需要到 http www cpan org 下載并 安裝 perl for linux 同時需要安裝常用的 perl 模塊 如果你需要 Webmin 支 持 SSL 你還需要安裝 OpenSSL 和 perl 模塊 Webmin 的安裝很簡單 下載 webmin tar gz 后用 tar xvzf webmin tar gz 解壓 運行安裝腳本 setup pl 安裝過程會詢問 Webmin 配置文件 目錄 Log 目錄和系統(tǒng)的監(jiān)聽端口 缺省是 10000 還會要求你設置管理員密 碼 安裝腳本還會把 Webmin 安裝成系統(tǒng)的守護進程 在開啟系統(tǒng)時自動啟動 重新啟動系統(tǒng) 訪問 http localhost 10000 如果出現(xiàn)了 Webmin 的登錄界 面就說明安裝成功了 所有的管理功能都是以模塊的形式插入到 Webmin 中的 Webmin 對形形色 色的管理模塊進行了分類 主要的類別有 Webmin 系統(tǒng) 服務 硬件和 其他 第 5 頁 共 23 頁 當你成功登錄到達 Webmin 的首頁時 這些類別將以不同的屬性頁展現(xiàn)在你的面 前 2 1 62 1 6 PHPPHP WebminWebmin A A simplesimple webminwebmin onon PHPPHP PHP Webmin 是一個遠程管理工具 它參照 Webmin 使用 PHP 來實現(xiàn)基于 Web 的對系統(tǒng)的簡單管理 使用簡單的 GUI 管理工具 實現(xiàn)對 Linux 服務器的 遠程管理 達到幫助系統(tǒng)管理員 減輕系統(tǒng)管理員負擔的目的 所以 可以把 PHP Webmin 說成是一個構建在 PHP 上的簡單 Webmin A simple webmin on PHP 3 3需求分析需求分析 3 13 1 任務概述任務概述 3 1 13 1 1 目標目標 本系統(tǒng)的開發(fā)主要是為了方便網(wǎng)絡系統(tǒng)管理員對本地和遠程安裝了 Linux 系統(tǒng)的服務器進行管理 增加管理的方便性 利用 B S 結構 減少了管理員的 勞動量 管理員利用瀏覽器在遠程登錄后 可以方便的對服務器進行運行狀態(tài) 的查看 對網(wǎng)絡服務進行配置 對一些數(shù)據(jù)進行分析 并對異?,F(xiàn)象做出快速 的反應 本系統(tǒng)的目標是完成一個基于 WEB 的 Linux 上的 GUI 管理工具 給 Linux 系統(tǒng)管理員提供幫助 協(xié)助 Linux 系統(tǒng)管理員正確高效的完成各種關鍵的系統(tǒng) 配置 如遠程的文件操作 Shell 命令執(zhí)行 進程操作 系統(tǒng)操作 各種網(wǎng)絡 服務配置等等 管理員通過瀏覽器訪問次管理系統(tǒng)的各種管理功能并完成相應 的管理動作 要求此管理系統(tǒng)同時具有本地和遠程管理的能力 要求注意一定 的安全設置 保證足夠的安全性 在完成系統(tǒng)基本功能的前提下 注意一定的 擴展和伸縮性 要求親近的管理界面和易用的操作 1 主要任務 運用所學知識 開發(fā)基于 Linux 的遠程管理系統(tǒng) 以方便網(wǎng)絡系統(tǒng)管理員 在客戶端對本地或遠程主機進行管理 本系統(tǒng)要求實現(xiàn)的部分功能有 文件操 作 命令操作 進程操作 系統(tǒng)操作 網(wǎng)絡操作 2 相關要求 1 本系統(tǒng)的開發(fā)要求采用 B S 結構 選用所熟悉的開發(fā)工具及開發(fā)環(huán)境進 行本系統(tǒng)的設計與開發(fā) 2 本設計要求實現(xiàn)遠程管理的功能 界面要簡潔實用 功能要完善 第 6 頁 共 23 頁 3 1 23 1 2 工作模式工作模式 Internet PC 瀏覽器Linux服務器 Apache PHP引擎 PHP腳本 圖 2 系統(tǒng)工作模式 在系統(tǒng)的性能方面 B S 模式具有異地瀏覽和信息采集的靈活性 任何時 間 任何地點 任何系統(tǒng) 只要可以使用瀏覽器上網(wǎng) 就可以使用 B S 系統(tǒng)的 終端 B S 模式還具有管理維護集中方便 用戶使用簡單 跨平臺等優(yōu)點 因此本系統(tǒng)采用 B S 模式 如圖 2 方便系統(tǒng)管理員在 Linux Win 等各種 系統(tǒng)中通過瀏覽器對 Linux 主機進行遠程管理 3 1 33 1 3 運行環(huán)境運行環(huán)境 硬件環(huán)境 A PC 機或服務器一臺 B 內(nèi)存 256M 以上 推薦 512M C PC 機需帶顯示器一個 軟件環(huán)境 A Linux Redhat 9 0 以上 Linux 操作系統(tǒng) B PHP4 或 PHP5 環(huán)境 C Apache 服務器 安裝 ssl 模塊 3 1 43 1 4 編程語言編程語言 PHP 是一種標準的 多用途的 面向?qū)ο蟮哪_本語言 此系統(tǒng)中主要使用 PHP 腳本語言來進行具體功能實現(xiàn) 使用 html 與 javascript 來完成管理系統(tǒng) 頁面設計 3 1 53 1 5 用戶特點用戶特點 本系統(tǒng)針對的是 Linux 系統(tǒng)管理員 需要管理員對 Linux 有一定程度了解 系統(tǒng)管理員需要理解服務器的遠程管理 會使用 Linux 常用命令 即可使用本 系統(tǒng)對 Linux 服務器監(jiān)視系統(tǒng)狀態(tài)和進行諸如遠程關機 重啟等操作 本系統(tǒng) 能輔助系統(tǒng)管理員更好的管理 Linux 服務器 3 23 2 具體需求具體需求 3 2 13 2 1 功能功能需求需求 對 Linux 系統(tǒng)的管理 大致包括文件的管理 進程的監(jiān)控 對系統(tǒng)信息的 第 7 頁 共 23 頁 監(jiān)控 對系統(tǒng)用戶和組的管理 對軟件包組的管理 對網(wǎng)絡信息的監(jiān)控 對網(wǎng) 絡服務的配置和管理等等方面 作為遠程管理系統(tǒng) 應包含上述功能 同時還 可設計一個可遠程運行系統(tǒng)命令的 shell 經(jīng)過分析 此系統(tǒng)主要包含功能應 為 文件操作功能 系統(tǒng)命令運行功能 進程監(jiān)控功能 系統(tǒng)信息瀏覽功能 用戶與組管理功能 軟件包管理功能 網(wǎng)絡監(jiān)控功能 網(wǎng)絡服務配置與管理功 能等等 由于此系統(tǒng)是對服務器進行遠程管理 涉及到服務器關鍵系統(tǒng)命令及敏感 數(shù)據(jù) 因此在登錄時采用 SSL 安全連接 并進行目錄訪問控制 3 2 23 2 2 系統(tǒng)流程系統(tǒng)流程 通過SSL連接 登陸驗證 通過驗證管理模塊 腳本 注銷 是 否 調(diào)用腳本 進行管理 返回登陸驗證 認證流程 管 理 流 程 注銷流程 圖 3 系統(tǒng)流程 如圖 3 所示 此系統(tǒng)工作流程分為三個部分 認證流程 管理流程 注銷 流程 1 認證流程 管理員端通過瀏覽器登錄此遠程網(wǎng)絡服務管理系統(tǒng) 輸入此系統(tǒng)用戶名與 密碼 用戶名或密碼錯誤則需重新輸入 正確則進入此管理系統(tǒng) 獲得一定權 限 管理系統(tǒng)服務 2 管理流程 當用戶正確進入系統(tǒng)后 即可進行系統(tǒng)管理 點擊某管理模塊 設置某項 服務 系統(tǒng)通過網(wǎng)絡發(fā)送命令到 Web 服務器 與服務器獲得交互 服務器通過 PHP 引擎解析獲得命令 調(diào)用相應腳本并執(zhí)行 獲得結果返回到遠程主機 3 注銷流程 管理員完成遠程主機更新或管理后 可點擊注銷以退出本遠程管理系統(tǒng) 系統(tǒng)發(fā)送注銷命令到服務器 服務器使所登錄用戶失去管理權限 切斷用戶與 服務器的連接 返回到管理系統(tǒng)登錄頁面 第 8 頁 共 23 頁 4 4總體設計總體設計 4 14 1 模塊劃分與功能設計模塊劃分與功能設計 通過對系統(tǒng)的需求分析 把此 Linux 遠程管理系統(tǒng)分為五個模塊 如圖 4 文件操作模塊 命令操作模塊 進程操作模塊 系統(tǒng)操作模塊 網(wǎng)絡服務操作模塊 五個模塊的功能配合 再加上在對 Apache 服務器的特殊配置 整體實現(xiàn)了 對 Linux 服務器的遠程管理與基本信息監(jiān)控 文件操作 命令操作 進程操作 系統(tǒng)操作 網(wǎng)絡操作 Linux遠程管理系統(tǒng) 圖 4 系統(tǒng)模塊 在整個系統(tǒng)設計中 本人完成里命令操作模塊與系統(tǒng)操作模塊 其余模塊 由合作者孫澤璽設計完成 4 1 14 1 1 功能模塊的初步設計功能模塊的初步設計 1 文件操作 在文件操作模塊中可以進行查看文件或目錄 新建文件或目錄 刪除文件 或目錄 復制文件或目錄 編輯文件 上傳文件 下載文件等等操作 在此文 件操作模塊中需對服務器文件或目錄屬性有一定設置 2 命令操作 對各種 SHELL 命令的解釋與執(zhí)行 可執(zhí)行常用 Linux 命令 可在此模塊中 進行進程操作和系統(tǒng)操作等等 注意使用的是 Web 模式 無法執(zhí)行交互式 Shell 命令 第 9 頁 共 23 頁 如圖 5 所示 在設計中 使用一個表單獲得 commond 變量 提交給 system 函數(shù)后執(zhí)行 system sudo commond 并返回結果 獲取commond變量文本框輸入否 提交給system函數(shù) 執(zhí)行system函數(shù)并 顯示結果 是否為空 顯示出錯 是 圖 5 命令操作設計流程 3 進程操作 查看或終止正在運行的進程 查看開啟的服務列表 端口號 對開啟服務 進行管理 查看當前系統(tǒng)所有正在運行的進程并且可以對進程進行相關操作 4 系統(tǒng)操作 系統(tǒng)操作中包括 關機或重啟 查看系統(tǒng)信息 管理用戶和組 管理軟件 包 如圖 6 關機或重啟 查看系統(tǒng)信息 管理用戶和組 管理軟件包 系統(tǒng)操作 圖 6 系統(tǒng)操作模塊結構圖 如圖 7 系統(tǒng)操作模塊的總體設計跟命令操作中類似 使用表單獲取所需 運行命令或參數(shù) 再提交給 system 函數(shù)執(zhí)行并返回結果 獲取子模塊的 相應變量 選擇子模塊命令 調(diào)用system函數(shù)執(zhí)行 內(nèi)置命令 表單提交 參數(shù) 命令 參數(shù) 傳遞給system函 數(shù)執(zhí)行相應命令 圖 7 系統(tǒng)操作總體流程 第 10 頁 共 23 頁 1 關機和重啟 可通過管理員點擊 Shutdown Reboot 按鈕 從而調(diào)用 system 函數(shù)執(zhí)行內(nèi)置的關機 重啟命令 也可在表單中輸入其他關機 或重啟命令并運行 2 查看系統(tǒng)信息 通過 switch 判斷提交的命令 并調(diào)用 system 函數(shù)執(zhí)行 內(nèi)置命令如 uname a fdisk l 等 包括查看 CPU 信息 查看分區(qū) 信息 查看內(nèi)核 3 管理用戶和組 可以查看系統(tǒng)擁有用戶和組 并通過簡單的表單提交 進行添加 刪除用戶或組的操作 詳見圖 8 用戶 組編輯頁提交給system函數(shù) 執(zhí)行system函數(shù)進行 添加用戶 組操作 表單提交用戶 組保存頁 用戶 組查看 用戶 組添加 用戶 組刪除提交給system函數(shù) 執(zhí)行system函數(shù)進行 刪除用戶 組操作 用戶 組刪除頁 提交給system函數(shù) 執(zhí)行內(nèi)置命令查詢 用戶 組并顯示結果 用戶 組管理 圖 8 用戶 組管理總體設計圖 4 管理軟件包 可以查看系統(tǒng)所有已安裝軟件包 并輸入關鍵字搜索查看 特定軟件包 以及根據(jù)搜索出的軟件包名進行軟件包刪除操作 5 網(wǎng)絡服務操作 管理 Apache 服務器 查看并配置 Apache 服務器狀態(tài)與參數(shù) 管理 DNS 服務器 查看并配置 DNS 服務器參數(shù) 管理 MySQL 服務器 通過 Web 進行 Mysql 服務器的備份等 管理 DHCP 服務器 查看網(wǎng)絡狀態(tài) 配置網(wǎng)絡參數(shù) 5 5詳細設計詳細設計 5 15 1 服務器服務器設計設計 此管理系統(tǒng)的目的是對 Linux 進行遠程管理 則在管理過程中需要對 Linux 系統(tǒng)配置文件進行讀取 或者運行系統(tǒng)命令 訪問系統(tǒng)敏感數(shù)據(jù)等 而 在 Linux 系統(tǒng)中 默認的 Apache 用戶權限是無法訪問管理系統(tǒng)所需文件 無法 運行關鍵系統(tǒng)命令的 因此 需要對 Apache 服務器進行一些特殊配置 提升其 權限 并且需要考慮安全問題 對用戶的認證問題等等 在本系統(tǒng)中 使用 SSL 連接 運用 Apache 基本驗證來認證用戶 通過對 Apache 服務器進行特殊 配置 使其獲得 root 權限 完成遠程管理 Linux 服務器的目的 第 11 頁 共 23 頁 5 1 15 1 1 更改更改 ApacheApache 配置配置 為了保證系統(tǒng)的安全性 在此對 Apache Web 服務器的目錄執(zhí)行訪問控制 使用 htaccess 訪問文件和 htpasswd 程序為一個目錄建立 ACL 來對用戶進 行身份驗證 并在 htaccess 文件中設置使用 SSL 連接 完善安全性 假設 PHPWebmin 位于 var www phpwebmin 目錄中 配置 httpd conf 用 vi 編輯器打開 Apache 配置文件 httpd Conf 默認在 etc httpd conf 目錄下 找到字段 在下面的屬性設置中添加或修改 AllowOverride ALL 此參數(shù)設置哪些目錄使用 htaccess 進行保護 為所保護目錄建立 ACL 進入 phpwebmin 目錄 cd var www phpwebmin 在此目錄下建立隱藏文件 htaccess 必須在 htaccess 文件前添加一個點號 如果不這樣做 就無法建立 ACL 因為點號表示建立一個隱藏文件 vi htaccess 在 htaccess 文件中輸 入如下代碼 SSLRequireSSL 使用SSL安全連接 AuthName PHP Webmin 驗證名稱 AuthType Basic require valid user 允許password文件中的所有用戶訪問 AuthUserFile var www phpwebmin phpwebminpasswd 用戶身份數(shù)據(jù)庫文件 創(chuàng)建用戶身份驗證數(shù)據(jù)庫 在命令行下輸入以下口令創(chuàng)建用戶身份驗證數(shù)據(jù)庫文件 會要求你為用戶 admin 創(chuàng)建密碼 htpasswd c var www phpwebmin phpwebminpasswd admin New password Re type new password 建立后的 phpwebminpasswd 文件內(nèi)容類似于 admin Op96DPmXTKy5w 用戶名 MD5 加密后的密碼 若系統(tǒng)沒有安裝 htpasswd 也可在網(wǎng)上生成用戶名密碼后放入 phpwebminpasswd 文件 這樣 就已經(jīng)為 Apache 服務器建立了一個用戶賬號數(shù)據(jù)庫 并對 phpwebmin 目錄實行了目錄保護 并實現(xiàn)了用戶基本驗證 需要用安全連接 https localhost phpwebmin 進行訪問 訪問過程中會彈出驗證對話框 第 12 頁 共 23 頁 5 1 25 1 2 服務器特殊配置服務器特殊配置 Apache 的配置是為了實現(xiàn)目錄保護和基本驗證 但為了提高用戶的權限 還需要對服務器進行一些配置 查看 httpd conf 文件找到 User 字段 查看 Apache 啟動用戶 默認為 apache 編輯 etc passwd 文件 找到 apache 用戶行 修改其 shell 默認為 bin nologin 或 bin false 為 bin bash 編輯 etc sudoers 文件 在文件中 root ALL ALL ALL 字段的下一行 添加 apache ALL NOPASSWORD ALL 使得 apache 用戶能夠通過 sudo 命令執(zhí)行 所有命令 經(jīng)過此配置后 apache 用戶只要使用 sudo 命令即可獲得 root 權限 5 25 2 命令操作模塊設計命令操作模塊設計 5 2 15 2 1 功能描述功能描述 對命令的解釋與執(zhí)行 執(zhí)行常用 Linux 命令 通過前面的服務器配置后 使用戶在瀏覽器中用戶系統(tǒng) root 權限 執(zhí)行系統(tǒng)命令 注意使用的是 Web 模式 無法執(zhí)行交互式 Shell 命令 5 2 25 2 2 界面設計界面設計 頁面中僅有一個輸入框 一個提交按鈕 和一個結果顯示區(qū)域 如圖 9 圖 9 命令執(zhí)行 文本輸入框獲得 commond 變量 提交給 system 函數(shù)后運行并把結果顯示在 textarea 中 input type text name command size 60 value 第 13 頁 共 23 頁 result 具體代碼 5 2 35 2 3 工作流程工作流程 用戶在文本框中輸入并提交命令 點擊 go 運行 在文本區(qū)域中返回并顯示 運行結果 具體流程見 圖 4 命令操作設計流程 實現(xiàn)代碼如下 5 35 3 系統(tǒng)操作模塊設計系統(tǒng)操作模塊設計 系統(tǒng)操作模塊中又包括關機和重啟 查看系統(tǒng)信息 管理用戶和組 管理 軟件包四個子模塊 不同的子模塊采用相似的方式實現(xiàn)其功能 5 3 15 3 1 功能描述功能描述 系統(tǒng)關機 系統(tǒng)重啟 查看系統(tǒng) cpu 信息 查看硬盤信息 查看內(nèi)核 查看系統(tǒng)用戶和組 添加 刪除用戶 添加 刪除組 查看系統(tǒng)安裝軟件包 根據(jù)關鍵字搜索軟件包 根據(jù)軟件包全名刪 除軟件 5 3 25 3 2 界面設計界面設計 基本設計為 頁面上方為提交按鈕 下方為一個文本區(qū)域 點擊按鈕時調(diào) 用 system 函數(shù)運行內(nèi)置命令 并在文本區(qū)域中返回結果 下面以用戶 組管理 模塊來說明界面設計模式 如圖 10 所示 查看用戶 組頁界面代碼 具體代碼 第 14 頁 共 23 頁 圖 10 查看所有用戶 在管理用戶和組子模塊中 首先在 edit user html 頁中填寫 user 屬性 包括用戶名 用戶工作目錄 用戶 shell 用戶 uid 用戶密碼等參數(shù) 提交至 save user php 頁并運行 useradd 操作 同時返回運行結果 如圖 11 所示 編輯用戶頁面中 三個輸入框分別為用戶名獲取變量 user 用戶 ID 獲取變量 uid 用戶目錄獲取變量 home 一個選擇框選擇用戶 默認 shell 獲取 shell 另一選擇是否需要密碼 需要則輸入密碼獲取 encpass 使用一個提交按鈕 Creat 來提交所輸入的用戶信息至 save user php 頁 代碼如下 Username User ID Home directory Shell bin sh bin csh bin bash bin false sbin nologin Other Password 第 15 頁 共 23 頁 No password required Encrypted password 圖 11 新建用戶 5 3 35 3 3 工作流程工作流程 1 用戶點擊關機與重啟子模塊 點擊 Shutdown 或 Reboot 按鈕產(chǎn)生關機或 重啟操作 也可執(zhí)行自定義關機 重啟命令 具體流程如圖 12 點擊Shutdown Reboot 按鈕 Shutdown 提交給 system函數(shù) 調(diào)用system函數(shù)執(zhí) 行init 0 判斷值獲取init變量 Reboot 提交 給system函數(shù) 調(diào)用system函數(shù)執(zhí) 行init 6 輸入關機 重啟命令獲取command變量 調(diào)用system函數(shù)執(zhí) 行sudo command 圖 12 關機 重啟操作流程 實現(xiàn)代碼如下 switch POST init 第 16 頁 共 23 頁 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 打開查看系統(tǒng)信息子模塊 查看 CPU Info Disk Info Kernel Version 流程如圖 13 點擊Kernel Version 調(diào)用system函數(shù)執(zhí)行 sudo uname a 點擊CPU info 調(diào)用system函數(shù)執(zhí)行 sudo cat proc cpuinfo 點擊Disk Info 調(diào)用system函數(shù)執(zhí)行 sudo fdisk l 圖 13 查看系統(tǒng)信息流程 實現(xiàn)代碼如下 3 打開管理用戶和組子模塊 在初始頁面中可查看系統(tǒng)用戶和組 點擊查 看用戶 組按鈕時 調(diào)用 system 函數(shù)運行 cat 命令 在文本區(qū)域中顯示 etc passwd 或 etc group 文件的內(nèi)容 點擊添加用戶連接進入用戶的信息頁面 user edit html 填寫用戶基本信 息 提交至添加頁 user save php 運行 sudo useradd 命令 完成添加操作 點擊刪除用戶連接 進入刪除頁面 del user php 填寫用戶名 運行 sudo userdel 命令 完成刪除操作 工作流程見 圖 8 用戶 組管理總體設計圖 下 面為添加 刪除用戶代碼 添加用戶代碼 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 刪除用戶代碼 commond sudo userdel POST user echo commond if commond system commond 4 打開管理軟件包子模塊 查看系統(tǒng)已安裝軟件包 填寫關鍵字搜索 根 據(jù)軟件包全名進行刪除操作 軟件包管理流程如圖 14 第 18 頁 共 23 頁 輸入刪除關鍵字 調(diào)用system函數(shù)執(zhí)行sudo rpm e uninstall 提交uninstall變量 點擊Show All Package 調(diào)用system函數(shù)執(zhí)行sudo rpm qa 輸入搜索關鍵字提交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ù)關鍵字搜索代碼 if POST search echo Waiting n exec sudo rpm qa grep POST search if exec system exec 根據(jù)關鍵字刪除代碼 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)安裝使用與測試系統(tǒng)安裝使用與測試 6 16 1 服務器設置服務器設置 按照 5 1 服務器設計中給出步驟 分別對 Apache Web 服務器 及 Linux 服務器進行配置 注意若不對 etc sudoers 進行配置 則本系統(tǒng)大部分功能無 第 19 頁 共 23 頁 法使用 也可省略對 htaccess 和 phpwebminpasswd 的生成 使用源代碼中所帶的 ACL 文件和用戶密碼數(shù)據(jù)文件 請注意修改 htaccess 文件中 AuthUserFile 后 的字段指向相應數(shù)據(jù)文件 默認用戶名為 admin 密碼為 admin 6 1 16 1 1 使用系統(tǒng)使用系統(tǒng) 把 PHP Webmin 源代碼放至 var www phpwebmin 目錄 在瀏覽器中通過 https localhost phpwebmin 進行訪問和測試 也可通過遠程訪問進行測試 6 26 2 測試測試 6 2 16 2 1 基本測試基本測試 1 通過 https 登錄并輸入用戶名和密碼 通過認證則進入主頁面 如圖 15 圖 15 主頁面 2 若使用 http 登錄則顯示 Forbidden 如圖 16 第 20 頁 共 23 頁 圖 16 Http 無法登錄 3 在未通過驗證的情況下無法訪問訪問任何 phpwebmin 下級目錄 6 2 26 2 2 功能測試功能測試 使用 PHP Webmin 對系統(tǒng)進行簡單管理 1 運行 Shell 命令 輸入 whoami 顯示結果為 root 如圖 9 所示 2 查看用戶 點擊 Show all user 在文本區(qū)域中顯示所有系統(tǒng)用戶 及 其主目錄 uid shell 如圖 10 所示例 3 查看 CPU 信息 點擊 CPU Info 在文本區(qū)域中顯示 CPU 信息 如圖 17 圖 17 查看 CPU 信息 4 關機 重啟 點擊 Shutdown 系統(tǒng)將立即關閉 點擊 Reboot 系統(tǒng)將立 即重啟 已知問題 已知問題 使用 Apache 基本驗證會在瀏覽器中保存 session 需要在完成系統(tǒng)管理操 作后關閉瀏覽器或手動刪除瀏覽器 session apache 用戶經(jīng)過配置后可執(zhí)行 sudo 命令 產(chǎn)生了系統(tǒng)安全隱患 第 21 頁 共 23 頁 結結 論論 目前 經(jīng)過緊張而有序的畢業(yè)設計 Linux 遠程管理系統(tǒng)主體功能已全面 實現(xiàn) 系統(tǒng)界面簡潔 操作方便 功能齊全 實現(xiàn)了文件操作 遠程運行 Shell 命令 進程監(jiān)控 用戶 組管理 系統(tǒng)信息查看 Rpm 軟件包管理 查看 配置網(wǎng)絡參數(shù) 管理常見服務器軟件的功能 基本實現(xiàn)了對 Linux 系統(tǒng)的遠程 管理 但是也有需要進一步改進的地方 如 在進程監(jiān)控時 需要查看進程信 息后結合命令行操作來實現(xiàn)對進程的關閉 還有本系統(tǒng)沒有完全實現(xiàn)服務器配 置功能 沒有完全解決對系統(tǒng)配置文件的讀寫問題等 本系統(tǒng)的設計與開發(fā)在老師的領導下都參照軟件開發(fā)公司的設計與開發(fā)模 式 通過對本系統(tǒng)的需求分析 概要設計 詳細設計 編碼 測試等每一部分 的學習和實踐 使我體會到系統(tǒng)的設計階段有舉足輕重的地位 設計的階段的 質(zhì)量優(yōu)劣 直接影響到以后系統(tǒng)質(zhì)量 需求是否準確 影響到最后系統(tǒng)是否能 達到功能的要求 如果設計合理 在編碼階段實現(xiàn)就相對容易了 本系統(tǒng)的實現(xiàn)過程中 本人對 Linux Webmin PHP Visio 設計工具等都 更深層次的認識和理解 本人相信這對以后工作將會大有益處的 綜上所述 畢業(yè)設計階段讓我充分的應用四年在校所學的知識 讓理論和 實踐完美的結合起來 參考文獻參考文獻 1 Ashish Wilfred she had learned early to be indifferent to a man s height since she like a big soft asteroid The analogy pleased her Extending it she watched the terminator line crawl around her to bring the hills and valleys of her front into sunlight Cirocco liked space reading and sex not necessarily in that order She had never been able to satisfactorily combine all three but two was not bad New games were possible in free fall like the one they had been playing no hands They could use feet mouths knees or shoulders to position each other One had to be gentle and careful but with slow bites and nips anything could be done and in such an interesting way All of them came to the hydroponics room from time to time Ringmaster had seven private rooms and they were as necessary as oxygen But even Cirocco s cabin was crowded when two people were in it and it as at the bottom of the c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 屏幕維保方案(3篇)
- 裝修客戶維系方案(3篇)
- 軟件實施方案(3篇)
- DB23-T2969-2021-寒地蘋果套種草莓栽培技術規(guī)程-黑龍江省
- DB23-T2844-2021-電子政務云平臺安全管理規(guī)范-黑龍江省
- 公司崗變薪變管理制度
- 古茗企業(yè)成本管理制度
- 制鞋工廠日常管理制度
- 加盟方案保密協(xié)議(3篇)
- 勘探公司安全管理制度
- 2024-2025學年七年級地理下冊第八章《了解地區(qū)》檢測卷(湘教版2024新教材)
- 2025年陜西煤業(yè)化工建設集團有限公司招聘筆試參考題庫含答案解析
- 公立醫(yī)院成本核算指導手冊
- 餐飲連鎖管理制度
- 產(chǎn)品制程不良率統(tǒng)計表
- 2024年01月廣東2024年珠海華潤銀行社會招考(125)筆試歷年參考題庫附帶答案詳解
- 人教版小學數(shù)學三年級下冊《奧數(shù)競賽試卷》
- 《非遺苗族蠟染》少兒美術教育繪畫課件創(chuàng)意教程教案
- 【MOOC】軍事理論-哈爾濱工程大學 中國大學慕課MOOC答案
- FMEA手冊新中文版(第五版)
- 湖北省武漢市2025屆高三第六次模擬考試數(shù)學試卷含解析
評論
0/150
提交評論