A基于Linux的遠(yuǎn)程管理系統(tǒng)服務(wù)器端的實(shí)現(xiàn)_第1頁
A基于Linux的遠(yuǎn)程管理系統(tǒng)服務(wù)器端的實(shí)現(xiàn)_第2頁
A基于Linux的遠(yuǎn)程管理系統(tǒng)服務(wù)器端的實(shí)現(xiàn)_第3頁
A基于Linux的遠(yuǎn)程管理系統(tǒng)服務(wù)器端的實(shí)現(xiàn)_第4頁
A基于Linux的遠(yuǎn)程管理系統(tǒng)服務(wù)器端的實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、0 / 26 文檔可自由編輯打印基于基于 LinuxLinux 的遠(yuǎn)程管理系統(tǒng)服務(wù)器端的實(shí)現(xiàn)的遠(yuǎn)程管理系統(tǒng)服務(wù)器端的實(shí)現(xiàn)摘要摘要該課題基于 Linux 操作系統(tǒng),主要目的是使系統(tǒng)管理員的遠(yuǎn)程管理工作更加方便、簡單和友好。實(shí)現(xiàn)的主要功能有文件操作、命令操作、系統(tǒng)操作、進(jìn)程操作和網(wǎng)絡(luò)操作,這些基本上涵蓋了系統(tǒng)管理的各個(gè)方面。在設(shè)計(jì)上,采用了 B/S 結(jié)構(gòu),使得該系統(tǒng)可以方便的進(jìn)行升級和方便用戶從各種平臺(tái)上對服務(wù)器進(jìn)行訪問;采用了安全訪問技術(shù),使得訪問和管理更加安全;采用了簡單和美觀的界面顯示技術(shù),使得用戶的瀏覽快捷和舒適。該課題開發(fā)的系統(tǒng)需要安裝運(yùn)行在 Linux 系統(tǒng)的上,系統(tǒng)管理員可以在遠(yuǎn)程利

2、用瀏覽器進(jìn)行登錄,通過驗(yàn)證后就可以方便的對系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行查看,對系統(tǒng)進(jìn)行管理,對網(wǎng)絡(luò)進(jìn)行配置,對數(shù)據(jù)進(jìn)行分析,要注意的是登錄到本系統(tǒng)必須用遠(yuǎn)程服務(wù)器的 root 權(quán)限和密碼,而且為了保證系統(tǒng)的安全,防止出現(xiàn)意外事件,管理員只能操作特定的任務(wù)。該課題的主要意義在于可以運(yùn)用 PHP進(jìn)行系統(tǒng)管理,開發(fā)的系統(tǒng)可以使系統(tǒng)管理員方便的管理遠(yuǎn)程系統(tǒng)。關(guān)鍵詞關(guān)鍵詞:遠(yuǎn)程管理;B/S 結(jié)構(gòu);安全訪問;Linux;PHP1 / 26 文檔可自由編輯打印 The implement on the server of Linux-based remote management system AbstractThe

3、 main purpose of the topic based on the Linux operating system is to enable remote management of the system administrator more convenient, simple and friendly. The main functions achieved are s, command operations, system operations, process operations and network operations, that are basically cove

4、rs the management of the system in all its aspects. In design terms, it uses the B / S structure, which makes it easy and convenient for users upgrading and visiting from a variety of platforms; it uses the Safe Access technology, which make management and visiting more secure; it uses a simple and

5、beautiful interface display technology that enables the user to browse it fast and comfortable. The system developed in the topic need be installed on the Linux operating system. System administrators can use the remote browser for landing, after validating successfully, then can facilitate the oper

6、ation of examining the system state, manage the system, configure network, analysis data. It should be noted that the landing on the system must use the root password of a remote server, and to ensure the safety of the system to prevent accidents, administrators can only operate a specific tasks. Th

7、e main significance of the topic lies in the using PHP to manage system, and that development of the system will enable the system administrator to facilitate the management of remote system.Key words: Remote Management; B/S structure; Safe Access; Linux; PHP2 / 26 文檔可自由編輯打印目目 錄錄論文總頁數(shù):23 頁1引言.11.1課題

8、背景.11.2國內(nèi)外研究現(xiàn)狀.11.3本課題研究的意義.11.4本課題的研究方法.22需求分析.22.1任務(wù)概述.22.1.1 開發(fā)目標(biāo).22.1.2 開發(fā)工具.22.1.3 開發(fā)環(huán)境.32.1.4 開發(fā)人員.32.1.5 運(yùn)行環(huán)境.32.1.6 條件限制.32.2功能分析.32.3工作流程.42.4性能分析.53總體設(shè)計(jì).53.1系統(tǒng)架構(gòu).53.2模塊劃分.64具體實(shí)現(xiàn).74.1安全訪問模塊.74.2文件操作模塊.104.3命令操作模塊.114.4進(jìn)程操作模塊.134.5系統(tǒng)操作模塊.144.6網(wǎng)絡(luò)操作模塊.165系統(tǒng)測試.185.1安全訪問模塊.185.2文件操作模塊.183 / 26 文

9、檔可自由編輯打印5.3命令操作模塊.195.4進(jìn)程操作模塊.195.5系統(tǒng)操作模塊.195.6網(wǎng)絡(luò)操作模塊.19結(jié) 論.20參考文獻(xiàn).20致 謝.22聲 明.231 1引言引言1.11.1 課題背景課題背景遠(yuǎn)程管理是在網(wǎng)絡(luò)上由一臺(tái)電腦(主控端 Remote/客戶端)遠(yuǎn)距離去控制另一臺(tái)電腦(被控端 Host/服務(wù)器端)的技術(shù),這里的遠(yuǎn)程不是字面意思的遠(yuǎn)距離,一般指通過網(wǎng)絡(luò)控制遠(yuǎn)端電腦,不過大多數(shù)時(shí)候我們所說的遠(yuǎn)程控制往往指在局域網(wǎng)中的遠(yuǎn)程控制而言。當(dāng)操作者使用主控端電腦控制被控端電腦時(shí),就如同坐在被控端電腦的屏幕前一樣,可以啟動(dòng)被控端電腦的應(yīng)用程序,可以使用被控端電腦的文件資料,甚至可以利用被控

10、端電腦的外部打印設(shè)備(打印機(jī)) 和通信設(shè)備(調(diào)制解調(diào)器或者專線等)來進(jìn)行打印和訪問互聯(lián)網(wǎng),就像你利用遙控器遙控電視的音量、變換頻道或者開關(guān)電視機(jī)一樣。不過,有一個(gè)概念需要明確, 那就是主控端電腦只是將鍵盤和鼠標(biāo)的指令傳送給遠(yuǎn)程電腦,同時(shí)將被控端電腦的屏幕畫面通過通信線路回傳過來。也就是說,我們控制被控端電腦進(jìn)行操作似乎是 在眼前的電腦上進(jìn)行的,實(shí)質(zhì)是在遠(yuǎn)程的電腦中實(shí)現(xiàn)的,不論打開文件,還是上網(wǎng)瀏覽、下載等都是存儲(chǔ)在遠(yuǎn)程的被控端電腦中的。對于剛剛接觸 Linux 的系統(tǒng)管理員來說,正確高效地完成各種關(guān)鍵的系統(tǒng)配置簡直是一件不可能的任務(wù)。即使是一個(gè)很有經(jīng)驗(yàn)的 Linux 的管理員,也常常會(huì)為某些復(fù)

11、雜的配置文件的格式而苦惱。因此擁有一個(gè) Linux 上的 GUI 管理工具一直是廣大 Unix 愛好者的美好愿望。雖然 Linux 自帶有 SSH 字符界面遠(yuǎn)程管理工具,但對于 SSH 不斷升級所帶來的困難和圖形界面友好、B/S 結(jié)構(gòu)的易用,還是略顯笨拙和枯燥,Web 管理方式使得本軟件同時(shí)具有本地和遠(yuǎn)程管理的能力,訪問控制和 SSL 支持為遠(yuǎn)程管理提供了足夠的安全性。所以我們編寫本軟件以更好、更容易的管理遠(yuǎn)程 Linux 系統(tǒng),從而減少系統(tǒng)管理員的負(fù)擔(dān)。1.21.2 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀從文獻(xiàn)和網(wǎng)絡(luò)資源來看,國外有過類似的軟件,比如Webmin、PHPWebmin。而這些軟件都是英文

12、,幾乎沒有中文版本,許多國內(nèi)系統(tǒng)管理員不太習(xí)慣,況4 / 26 文檔可自由編輯打印且有些軟件是用 Perl 語言來寫的,在效率和使用廣度上有寫不太滿意。1.31.3 本課題研究的意義本課題研究的意義對于系統(tǒng)管理員來說,管理整個(gè)系統(tǒng)是十分復(fù)雜和煩躁的工作,尤其服務(wù)器的遠(yuǎn)程管理,對系統(tǒng)管理人員來說是十分重要的。本軟件的開發(fā)就是為了方便系統(tǒng)管理員對本地和遠(yuǎn)程安裝了 Linux 系統(tǒng)的服務(wù)器進(jìn)行管理,增加管理的方便性,利用 B/S 結(jié)構(gòu)也從另外一方面減少了管理員的勞動(dòng)量。管理員利用瀏覽器在遠(yuǎn)程登錄后,可以方便的對服務(wù)器進(jìn)行運(yùn)行狀態(tài)的查看,對網(wǎng)絡(luò)服務(wù)進(jìn)行配置,對一些數(shù)據(jù)進(jìn)行分析,而且可以對異?,F(xiàn)象做出快

13、速的反應(yīng)。從 Windows 環(huán)境的管理轉(zhuǎn)到 Linux 環(huán)境的管理時(shí)所面臨的挑戰(zhàn)之一是,您需要學(xué)習(xí)利用新的工具。作為一個(gè)管理員,您希望理解操作系統(tǒng)的細(xì)節(jié)以發(fā)揮它的最大功效。但是,當(dāng)您還處在學(xué)習(xí)階段時(shí),就需要去完成具體的工作。為加速您駕馭 Linux 的進(jìn)度,我們安裝一個(gè)這樣的遠(yuǎn)程管理程序,對于系統(tǒng)管理員來說是十分方便的。1.41.4 本課題的研究方法本課題的研究方法本系統(tǒng)的開發(fā)要求采用 B/S 結(jié)構(gòu),模擬 Webmin 進(jìn)行設(shè)計(jì)與開發(fā)。因此,本次畢業(yè)設(shè)計(jì)應(yīng)首先分析 Webmin 的相關(guān)功能,結(jié)合本次畢業(yè)設(shè)計(jì)的相關(guān)要求寫出需求分析;其次,綜合運(yùn)用以前所學(xué)的相關(guān)知識(shí)選擇所熟悉的開發(fā)工具進(jìn)行本畢業(yè)

14、設(shè)計(jì)的開發(fā);在設(shè)計(jì)中以需求分析為基礎(chǔ),寫出系統(tǒng)開發(fā)計(jì)劃、實(shí)現(xiàn)流程及相關(guān)問題的實(shí)現(xiàn)方法;同時(shí),在開發(fā)設(shè)計(jì)與實(shí)現(xiàn)中,要保存好相關(guān)的設(shè)計(jì)文擋,為后面的畢業(yè)論文的寫作準(zhǔn)備材料;最后,系統(tǒng)開發(fā)完畢后,進(jìn)行調(diào)試和試運(yùn)行,做好調(diào)試和試運(yùn)行的相關(guān)記錄,也為后面的畢業(yè)論文的寫作準(zhǔn)備材料。主要的方法有:首先只寫文件操作部分以了解該系統(tǒng)的工作方式及系統(tǒng)的大致面貌,然后逐步增加其他的功能與模塊,最后對整個(gè)系統(tǒng)進(jìn)行修飾整理,從而完該系統(tǒng)。2 2需求分析需求分析2.12.1 任務(wù)概述任務(wù)概述.1 開發(fā)目標(biāo)開發(fā)目標(biāo)1.能夠安全的登錄遠(yuǎn)程主機(jī),并在管理過程中進(jìn)行安全的交互。2.能夠?qū)h(yuǎn)程主機(jī)的文件系統(tǒng)進(jìn)行管理

15、,可以對文件或者文件夾進(jìn)行查看、 創(chuàng)建、刪除、移動(dòng)、上傳等操作。3.能夠發(fā)送命令到遠(yuǎn)程主機(jī)以進(jìn)行解釋和運(yùn)行并把運(yùn)行的結(jié)果發(fā)送回來。4.能夠?qū)h(yuǎn)程主機(jī)的正在運(yùn)行的進(jìn)程進(jìn)行查看和管理。5 / 26 文檔可自由編輯打印5.能夠?qū)h(yuǎn)程主機(jī)系統(tǒng)進(jìn)行管理,可以查看系統(tǒng)信息、關(guān)機(jī)或重啟、修改密碼、管理用戶和組、管理軟件包等。6.能夠?qū)h(yuǎn)程主機(jī)的網(wǎng)絡(luò)服務(wù)進(jìn)行管理,可以進(jìn)行管理 Apache 服務(wù)器,管理 DNS 服務(wù)器,管理 MySQL 服務(wù)器,管理 SSH 服務(wù)器 管理 DHCP服務(wù)器,查看網(wǎng)絡(luò)參數(shù),配置網(wǎng)絡(luò)參數(shù)等操作。7.使得遠(yuǎn)程管理更加人性化、更加簡單、更加方便、更加友好。8.要使得該軟件容易升級和修改

16、、擴(kuò)展,容易被使用。.2 開發(fā)工具開發(fā)工具開發(fā)語言主要使用 PHP、HTML, 在 PHP 不能解決的地方使用 SHELL 或C。.3 開發(fā)環(huán)境開發(fā)環(huán)境操作系統(tǒng):Fedora core 5PHP 引擎:PHP 5.1Web 服務(wù)器:APACHE2瀏覽器:Mozilla firefox 2.0.4 開發(fā)人員開發(fā)人員孫澤璽,主要負(fù)責(zé)服務(wù)器端的開發(fā)。徐斌,主要負(fù)責(zé)客戶端的開發(fā)。.5 運(yùn)行環(huán)境運(yùn)行環(huán)境該軟件運(yùn)行在安裝有 Linux 操作系統(tǒng)、Apache 服務(wù)器的遠(yuǎn)程主機(jī)上。運(yùn)行之前需要開啟 Apache 服務(wù)器,并進(jìn)行一些設(shè)置。2.1.

17、62.1.6 條件限制條件限制本系統(tǒng)登錄必須以遠(yuǎn)程服務(wù)器的 root 權(quán)限和密碼登錄,而且為了保證系統(tǒng)的安全,防止出現(xiàn)以外事件,管理員只能操作特定的任務(wù)。如果該系統(tǒng)安裝在其他的操作系統(tǒng)中,例如 windows 操作系統(tǒng),那么會(huì)用某些模塊不能運(yùn)行或者不能正確運(yùn)行。2.22.2功能分析功能分析根據(jù)該課題的要求與目標(biāo),可以了解到該系統(tǒng)主要有以下功能:1、安全訪問安全訪問是指登錄時(shí)要利用 HTTPS 協(xié)議、SSL 套節(jié)字登錄到遠(yuǎn)程主機(jī),不能被黑客或者惡意攻擊者探測到登錄的用戶名和密碼,并且在管理過程中也要6 / 26 文檔可自由編輯打印采取安全訪問的技術(shù),以防止重要數(shù)據(jù)的丟失、截取或者被攻擊。2、文件

18、操作文件操作主要是對文件系統(tǒng)進(jìn)行管理,主要包括查看文件或目錄信息,新建文件或目錄,刪除文件或目錄,復(fù)制文件或目錄,運(yùn)行文件,上傳文件,下載文件等等。3、命令操作命令操作就是在遠(yuǎn)程主機(jī)把命令發(fā)送過去,服務(wù)器對各種 SHELL 命令的解釋與執(zhí)行,并且把執(zhí)行后的結(jié)果再發(fā)送到遠(yuǎn)程主機(jī)顯示出來。4、進(jìn)程操作進(jìn)程操作就是對遠(yuǎn)程主機(jī)的正在運(yùn)行的進(jìn)程進(jìn)行管理,主要包括查看或終止正在運(yùn)行的進(jìn)程,查看開啟的服務(wù)列表(端口號)、對開啟服務(wù)進(jìn)行管理、查看當(dāng)前系統(tǒng)所有正在運(yùn)行的進(jìn)程并且可以對進(jìn)程進(jìn)行相關(guān)操作。5、系統(tǒng)操作系統(tǒng)操作就是對遠(yuǎn)程主機(jī)的 Linux 系統(tǒng)進(jìn)行的系統(tǒng)方面的管理,主要包括關(guān)機(jī)或重啟,修改密碼,查看系

19、統(tǒng)信息,管理用戶和組,管理軟件包。6、網(wǎng)絡(luò)操作網(wǎng)絡(luò)操作就是對遠(yuǎn)程主機(jī)的網(wǎng)絡(luò)服務(wù)進(jìn)行的管理,主要包括管理 Apache 服務(wù)器,管理 DNS 服務(wù)器,管理 MySQL 服務(wù)器,管理 SSH 服務(wù)器, 管理 DHCP 服務(wù)器,查看網(wǎng)絡(luò)參數(shù),配置網(wǎng)絡(luò)參數(shù)。2.32.3 工作流程工作流程根據(jù)對該系統(tǒng)的設(shè)計(jì)目標(biāo)和要求,可以確定從總體上,該系統(tǒng)的工作流程分為三大部分:認(rèn)證過程、管理過程、注銷過程。整個(gè)系統(tǒng)的工作流程如圖 1:圖 1 工作流程7 / 26 文檔可自由編輯打印1、認(rèn)證過程管理員端通過瀏覽器登錄此遠(yuǎn)程管理系統(tǒng),輸入此系統(tǒng)用戶名與密碼,如果用戶名或密碼錯(cuò)誤則顯示錯(cuò)誤信息,并提示重新輸入;正確則進(jìn)入

20、此管理系統(tǒng),獲得一定權(quán)限,管理系統(tǒng)服務(wù)。該認(rèn)證過程要在安全的情況下進(jìn)行,不能以明文進(jìn)行傳輸。2、管理過程當(dāng)用戶正確進(jìn)入系統(tǒng)后,即可進(jìn)行系統(tǒng)管理,點(diǎn)擊某管理模塊,設(shè)置某項(xiàng)服務(wù),系統(tǒng)通過網(wǎng)絡(luò)發(fā)送命令到 Web 服務(wù)器,與服務(wù)器獲得交互,服務(wù)器通過PHP 引擎解析獲得命令,調(diào)用相應(yīng)腳本并執(zhí)行,獲得結(jié)果返回到遠(yuǎn)程主機(jī)的瀏覽器。3、注銷過程管理員完成遠(yuǎn)程主機(jī)更新或管理后,可點(diǎn)擊注銷以退出本遠(yuǎn)程管理系統(tǒng),系統(tǒng)發(fā)送注銷命令到服務(wù)器,服務(wù)器使所登錄用戶失去管理權(quán)限,切斷用戶與服務(wù)器連接,返回到管理系統(tǒng)登錄頁面。2.42.4 性能分析性能分析 根據(jù)該課題的要求與目標(biāo)、現(xiàn)在的技術(shù)狀況,可以確定該系統(tǒng)在性能方面要達(dá)

21、到以下目標(biāo):1.該系統(tǒng)能夠處理多個(gè)用戶同時(shí)連接到服務(wù)器的情況而不出什么問題(比如100 個(gè)) 。2.該系統(tǒng)能夠及時(shí)地返回執(zhí)行的結(jié)果,并且當(dāng)命令不能正確執(zhí)行時(shí),能夠進(jìn)行提示。3.該系統(tǒng)要在頁面非正常情況下關(guān)閉時(shí),能夠正確的識(shí)別,并自動(dòng)的斷開與遠(yuǎn)程客戶機(jī)的連接。4.該系統(tǒng)要有防止訪問單獨(dú)文件的情況,不管要訪問什么樣的文件都必須通過主頁面。5.對于在系統(tǒng)執(zhí)行過程中出現(xiàn)的異常,程序能夠正確的識(shí)別并顯示相關(guān)的信息進(jìn)行提示。6.該程序要防止不正確或者非法命令的執(zhí)行,防止在程序運(yùn)行過程中,因?yàn)閳?zhí)行了某個(gè)命令而導(dǎo)致整個(gè)系統(tǒng)的崩潰或者連接的斷開或者遠(yuǎn)程服務(wù)器的死機(jī)。 3 3總體設(shè)計(jì)總體設(shè)計(jì)3.13.1 系統(tǒng)架構(gòu)

22、系統(tǒng)架構(gòu)因?yàn)樵撓到y(tǒng)采用 B/S 模式并且進(jìn)行遠(yuǎn)程管理,所以整個(gè)系統(tǒng)可以分為五大8 / 26 文檔可自由編輯打印模塊,即客戶端、Internet、Linux 操作系統(tǒng)、Apache 服務(wù)器、PHP 解釋器??蛻舳耸菫g覽器,客戶可以在遠(yuǎn)程利用瀏覽器登錄服務(wù)器進(jìn)行管理遠(yuǎn)程Linux 系統(tǒng)。Internet 是連接服務(wù)器和客戶端的媒介,用來傳輸命令和數(shù)據(jù)。Linux 操作系統(tǒng)運(yùn)行在遠(yuǎn)程服務(wù)器上,管理整個(gè)系統(tǒng),開發(fā)的程序也是運(yùn)行在 Linux 操作系統(tǒng)上。Apache 服務(wù)器是 web 服務(wù)器用來傳輸 web 頁面,并調(diào)用 PHP 引擎對 PHP 腳本進(jìn)行解釋和執(zhí)行,并把結(jié)果傳輸?shù)竭h(yuǎn)程瀏覽器。PHP 解

23、釋器是用來對 PHP 腳本進(jìn)行解釋執(zhí)行的,PHP 解釋器根據(jù) Apache 的不同調(diào)用參數(shù)對不同的腳本進(jìn)行解釋,并把執(zhí)行后得到的 html 文件返回給Apache 服務(wù)器。該系統(tǒng)的框架可以用圖 2 表示:InternetLinux服務(wù)器PC/瀏覽器Apache/PHP引擎PHP腳本圖 2 系統(tǒng)架構(gòu)3.23.2 模塊劃分模塊劃分根據(jù)前面的需求分析和系統(tǒng)架構(gòu)可知,該系統(tǒng)可以劃分為六大模塊如圖3。9 / 26 文檔可自由編輯打印圖 3 系統(tǒng)模塊1、 安全訪問模塊主要負(fù)責(zé)客戶端對服務(wù)器端的安全訪問,主要采用訪問控制技術(shù)和加密技術(shù)。在服務(wù)器端的文件系統(tǒng)內(nèi)采用訪問控制技術(shù),在服務(wù)器端和客戶端的傳輸過程中采

24、用加密技術(shù)。2、 文件操作模塊主要負(fù)責(zé)對遠(yuǎn)程 Linux 操作系統(tǒng)的文件系統(tǒng)進(jìn)行操作,這是操作遠(yuǎn)程主機(jī)的基礎(chǔ)。當(dāng)首次進(jìn)行文件操作時(shí),界面顯示該系統(tǒng)腳本文件所在的目錄和文件的屬性,并在其后顯示可以進(jìn)行操作的命令按鈕,并且在界面的上方有轉(zhuǎn)換目錄的文本框和命令。主要利用 PHP 的 cookie 傳遞命令,在具體操作方面主要利用 PHP 的文件 IO 函數(shù)來實(shí)現(xiàn),在顯示方面,編寫了一個(gè)格式類,可以調(diào)用該類的相應(yīng)函數(shù)來格式或者顯示數(shù)據(jù)。3、 命令操作模塊主要負(fù)責(zé)對客戶端傳送過來的 SHELL 命令進(jìn)行解釋和執(zhí)行,并及時(shí)地把結(jié)果返回過去,做這一模塊時(shí),一定要注意結(jié)果返回的及時(shí)性和錯(cuò)誤命令的正確提示。主要

25、利用 HTML 的 POST 方法把命令傳輸?shù)椒?wù)器,然后利用 PHP 的系統(tǒng)函數(shù) system、exec、passthru 的函數(shù)來執(zhí)行相應(yīng)的命令并把執(zhí)行的結(jié)果傳輸?shù)綖g覽器。4、 進(jìn)程操作模塊主要負(fù)責(zé)對遠(yuǎn)程 Linux 操作系統(tǒng)的進(jìn)程進(jìn)行顯示,并能對每個(gè)進(jìn)程進(jìn)行操作,例如殺死某個(gè)進(jìn)程。主要利用 system 函數(shù)執(zhí)行 SHELL 命令 ps 和 grep 得到進(jìn)程列表,并在瀏覽器端用表格顯示出來,利用 posix_kill 函數(shù)把某個(gè)進(jìn)程殺10 / 26 文檔可自由編輯打印死。5、 系統(tǒng)操作模塊主要負(fù)責(zé)對 Linux 的主要系統(tǒng)管理的操作,可以利用這些系統(tǒng)操作對遠(yuǎn)程Linux 系統(tǒng)進(jìn)行簡單的

26、系統(tǒng)管理??傮w思路為,利用 PHP 的_POST 數(shù)組得到相應(yīng)的傳輸過來的命令,然后利用 PHP 的 system 函數(shù)執(zhí)行相應(yīng)的 SHELL 命令,并把結(jié)果傳輸?shù)椒?wù)器。6、 網(wǎng)絡(luò)操作模塊主要對遠(yuǎn)程 Linux 系統(tǒng)的網(wǎng)絡(luò)進(jìn)行簡單的管理和配置。實(shí)現(xiàn)的總體思路為,在服務(wù)器端修改某些跟網(wǎng)絡(luò)管理相關(guān)的文件的訪問權(quán)限以使 Apache 可以訪問和修改這些文件,利用 PHP 的_POST 數(shù)組得到相應(yīng)的傳輸過來的網(wǎng)絡(luò)操作命令,然后利用 PHP 的 system 函數(shù)執(zhí)行相應(yīng)的 SHELL 命令,并把結(jié)果傳輸?shù)椒?wù)器。商業(yè)源代碼,全套計(jì)算機(jī)畢業(yè)設(shè)計(jì)免費(fèi)下載 更多全套設(shè)計(jì)聯(lián)系 QQ:1042897696最

27、新設(shè)計(jì)大全 4 4具體實(shí)現(xiàn)具體實(shí)現(xiàn)4.14.1 安全訪問模塊安全訪問模塊安全訪問主要通過本機(jī)訪問控制文件和 PHP 腳本身份驗(yàn)證來進(jìn)行實(shí)現(xiàn)。1、主機(jī)訪問控制文件在遠(yuǎn)程主機(jī)中,要開啟 apache 服務(wù)器,并在 apache 的配置文件中添加要訪問的目錄的訪問控制選項(xiàng)。之后在要訪問的目錄中建立訪問控制文件.htaccess 和.remoteadminpasswd。.htaccess 文件定義了用戶名和密碼文件的路徑和其他一些控制選項(xiàng)。.remoteadminpasswd 文件有用戶名和加密的密碼。Apache 的配置是為了實(shí)現(xiàn)目錄保護(hù)和基本驗(yàn)證,但為了提高用戶的權(quán)限,還需要對服務(wù)器進(jìn)行一些配置。

28、1)查看 httpd.conf 文件找到 User 字段,查看 Apache 啟動(dòng)用戶(默認(rèn)為apache) ;2)編輯/etc/passwd 文件,找到 apache 用戶行,修改其 shell(默認(rèn)為/bin/nologin 或/bin/false)為/bin/bash;3)編輯/etc/sudoers 文件,在文件中 root ALL=(ALL)ALL 字段的下一行添加 apache ALL=NOPASSWORD:ALL,使得 apache 用戶能夠通過 sudo 命令執(zhí)行所有命令。經(jīng)過此配置后,apache 用戶只要使用 sudo 命令即可獲得 root 權(quán)限。為了保證系統(tǒng)的安全性,在

29、此對 Apache Web 服務(wù)器的目錄執(zhí)行訪問控制 ,使用.htaccess 訪問文件和 htpasswd 程序?yàn)橐粋€(gè)目錄建立 ACL,來對用戶進(jìn)11 / 26 文檔可自由編輯打印行身份驗(yàn)證,并在.htaccess 文件中設(shè)置使用 SSL 連接,完善安全性。假設(shè) PHPWebmin 位于/var/目錄中。1)配置 httpd.Conf用 vi 編輯器打開 Apache 配置文件 httpd.Conf(默認(rèn)在/etc/httpd/conf/目錄下) ,找到字段,在下面的屬性設(shè)置中添加或修改AllowOverride ALL /此參數(shù)設(shè)置哪些目錄使用.ltaccess 進(jìn)行保護(hù);2)為所保護(hù)目錄

30、建立 ACL進(jìn)入 phpwebmin 目錄,cd /var/,在此目錄下建立隱藏文件.htaccess(必須在 htaccess 文件前添加一個(gè)點(diǎn)號,如果不這樣做,就無法建立 ACL,因?yàn)辄c(diǎn)號表示建立一個(gè)隱藏文件) vi .htaccess,在.htaccess 文件中輸入如下代碼:SSLRequireSSL /使用SSL安全連接AuthName PHP Webmin/驗(yàn)證名稱AuthType Basicrequire valid-user /允許password文件中的所有用戶訪問AuthUser /身份數(shù)據(jù)文件;3)創(chuàng)建用戶身份驗(yàn)證數(shù)據(jù)庫在命令行下輸入以下口令創(chuàng)建用戶身份驗(yàn)證數(shù)據(jù)庫文件,會(huì)

31、要求你為用戶admin 創(chuàng)建密碼:htpasswd -c /var/ adminNew password:Re-type new password: 建立后的.phpweminpasswd 文件內(nèi)容類似于:admin:Op96DPmXTKy5w /用戶名:MD5 加密后的密碼若系統(tǒng)沒有安裝 htpasswd,也可在網(wǎng)上生成用戶名密碼后放入.phpwebminpasswd 文件這樣,就已經(jīng)為 Apache 服務(wù)器建立了一個(gè)用戶賬號數(shù)據(jù)庫,并對phpwebmin 目錄實(shí)行了目錄保護(hù),并實(shí)現(xiàn)了用戶基本驗(yàn)證,需要用安全連接進(jìn)行訪問,訪問過程中會(huì)彈出驗(yàn)證對話框。2、PHP 腳本的身份驗(yàn)證利用_GET 數(shù)

32、組判斷是登錄還是注銷,如果是登錄,則驗(yàn)證密碼是否正確,如果正確則進(jìn)入管理界面,并在客戶端設(shè)置 cookie 以記錄登錄信息,否則提示相應(yīng)的錯(cuò)誤信息。驗(yàn)證流程如圖 4:12 / 26 文檔可自由編輯打印圖 4 身份驗(yàn)證流程身份驗(yàn)證的主要代碼如下:if ($_GETaction = logout) setcookie(adminpass, );echo;echo 注銷成功.三秒后自動(dòng)退出或單擊這里退出程序界面 >>>ob_end_flush();exit;if ($_POSTdo = login) $thepass=trim($_POSTadminpass

33、);if($adminpass = $thepass) setcookie(adminpass, $thepass, time() + (1 * 24 * 3600);echo ;echo 登錄成功.三秒后自動(dòng)跳轉(zhuǎn)或單擊這里進(jìn)入程序界面 >>>exit;elseecho 密碼錯(cuò)誤,請重新輸入;13 / 26 文檔可自由編輯打印if(isset($_COOKIEadminpass) if ($_COOKIEadminpass != $adminpass) loginpage();else loginpage();4.24.2 文件操作模塊文件操作模塊文件

34、操作有很多類型的操作,主要包括查看文件或目錄信息,新建文件或目錄,刪除文件或目錄,復(fù)制文件或目錄,運(yùn)行文件,上傳文件,下載文件。文件的操作和在本地操作文件一樣,只是形式有所不同,當(dāng)用戶選擇了一個(gè)或部分文件之后,就可以點(diǎn)擊相應(yīng)的命令按鈕,從而產(chǎn)生相應(yīng)的動(dòng)作。主要利用 PHP 的 cookie 傳遞命令,在具體操作方面主要利用 PHP 的文件 IO 函數(shù)來實(shí)現(xiàn),在顯示方面,編寫了一個(gè)格式類,可以調(diào)用該類的相應(yīng)函數(shù)來格式或者顯示數(shù)據(jù)。文件操作流程如圖 5:圖 5 文件操作流程編輯文件和文件改名的主要代碼如下:/ 編輯文件if ($_POSTdo = doeditfile) if (!empty($_

35、POSTedit) $edit;$fp=fopen($,w);echo $msg=fwrite($fp,$_POST) ?14 / 26 文檔可自由編輯打印寫入文件成功! : 寫入失敗!;fclose($fp); else echo 請輸入想要編輯的文件名!;/ 編輯文件屬性elseif ($_POSTdo = edit) if (!empty($_POST) $($_POST,8,10);echo (chmod($dir./.$file,$) ? 屬性修改成功! : 修改失敗!;echo 文件 .$file. 修改后的屬性為: .substr(base_convert($dir./.$),-

36、4); else echo 請輸入想要設(shè)置的屬性!;商業(yè)源代碼,全套計(jì)算機(jī)畢業(yè)設(shè)計(jì)免費(fèi)下載 更多全套設(shè)計(jì)聯(lián)系 QQ:1042897696最新設(shè)計(jì)大全 4.34.3 命令操作模塊命令操作模塊命令操作即是對各種 SHELL 命令的解釋與執(zhí)行,這主要是通過 php 的system、passthru 等函數(shù)來執(zhí)行??稍诖四K中進(jìn)行進(jìn)程操作和系統(tǒng)操作等等,注意使用的是 Web 模式,無法執(zhí)行交互式 Shell 命令。在設(shè)計(jì)中,使用一個(gè)表單獲得 commond 變量,提交給 system 函數(shù)后執(zhí)行 system(“sudo $commond”),并返回結(jié)果。命令操作流程如圖 615 / 26 文檔可自由

37、編輯打印圖 6 命令操作流程部分代碼如下:if (!empty($_POSTcommand) if ($execfunc=system) system(sudo .$_POSTcommand); elseif ($execfunc=passthru) passthru(sudo .$_POSTcommand); elseif ($execfunc=exec) $result = exec(sudo .$_POSTcommand);echo $result; elseif ($execfunc=shell_exec) $result=shell_exec(sudo .$_POSTcommand)

38、;echo $result; elseif ($execfunc=popen) $pp = popen(sudo .$_POSTcommand, r);$read = fread($pp, 2096);echo $read;pclose($pp); elseif ($execfunc=wscript) $wsh = new COM(W.Scr.ip.t.she.ll) or 16 / 26 文檔可自由編輯打印die(PHP Create COM WSHSHELL failed);$exec = $wsh-exec (cm.d.e.xe /c .sudo .$_POSTcommand.);$st

39、dout = $exec-StdOut();$stroutput = $stdout-ReadAll();echo $stroutput; else system(sudo .$_POSTcommand);4.44.4 進(jìn)程操作模塊進(jìn)程操作模塊進(jìn)程操作主要包括查看或終止正在運(yùn)行的進(jìn)程,查看開啟的服務(wù)列表、對開啟服務(wù)進(jìn)行管理、查看當(dāng)前系統(tǒng)所有正在運(yùn)行的進(jìn)程并且可以對進(jìn)程進(jìn)行相關(guān)操作。這主要通過執(zhí)行 ps aux 來獲取進(jìn)程列表,再用表格來表示出來,并且可以 kill 掉每一個(gè)進(jìn)程。進(jìn)程操作流程如圖 7:圖 7 進(jìn)程操作流程主要代碼如下:if ($_GETaction = process)if(!

40、$win) $handler = ps -aux.($grep? | grep .addslashes($grep).:);else $handler = tasklist;$ret = myshellexec($handler);if(!$ret) echo Cant execute .$handler.!;17 / 26 文檔可自由編輯打印elseif(empty($processes_sort) $processes_sort = $sort_default;$parsesort = parsesort($processes_sort);if (!is_numeric($parsesor

41、t0) $parsesort0 = 0;$k = $parsesort0;if($parsesort1 != a) $y=;else $y=;$ret = htmlspecialchars($ret);if (!$win)if ($pid)if (is_null($sig) $sig = 9;echo Sending signal .$sig. to #.$pid. ;if (posix_kill($pid,$sig) echo OK.;else echo ERROR.;4.54.5 系統(tǒng)操作模塊系統(tǒng)操作模塊系統(tǒng)操作主要包括關(guān)機(jī)或重啟,修改密碼,查看系統(tǒng)信息,管理用戶和組,管理軟件包。這主要通

42、過更改 Apache 的權(quán)限和執(zhí)行命令的 SHELL,并把Apache 添加到 sudoers 文件里面成為可以執(zhí)行 sudo 命令的一員。關(guān)機(jī)和重啟,可通過管理員點(diǎn)擊 Shutdown、Reboot 按鈕,從而調(diào)用system 函數(shù)執(zhí)行內(nèi)置的關(guān)機(jī)、重啟命令,也可在表單中輸入其他關(guān)機(jī)或重啟命令并運(yùn)行。查看系統(tǒng)信息,通過 switch 判斷提交的命令,并調(diào)用 system 函數(shù)執(zhí)行內(nèi)18 / 26 文檔可自由編輯打印置命令如 unamea、fdisk l 等,包括查看 CPU 信息、查看分區(qū)信息、查看內(nèi)核。管理用戶和組,可以查看系統(tǒng)擁有用戶和組,并通過簡單的表單提交,進(jìn)行添加、刪除用戶或組的操作

43、。系統(tǒng)操作流程如圖 8:圖 8 系統(tǒng)操作流程查看系統(tǒng)信息和管理用戶及組的主要代碼如下:/查看系統(tǒng)信息switch($_POSTinfo)case CPU Info:$exec=sudo cat /proc/cpuinfo;break;case Disk Info:$exec=sudo fdisk -l;break;case Kernel Version:$exec=sudo uname -a;if($exec) system($exec);/管理用戶和組$commond=sudo groupdel .$_POSTgroup;echo $commond;if($commond) system($

44、commond); $commond=sudo groupadd .$_POSTgroup;echo $commond;if($commond) system($commond); switch($_POSTpassmode)case 0:19 / 26 文檔可自由編輯打印$passwd=;break;case 1:$passwd= -p .$_POSTencpass;if(!$_POSThome)$home= -d .$_POSThome;$user=$_POSTuser;$uid= -u .$_POSTuid;$shell= -s .$_POSTshell;$commond=sudo us

45、eradd .$_POSTuser. -d .$_POSThome. -s .$_POSTshell. -u .$_POSTuid. -p .$_POSTencpass;echo $commond;if($commond) system($commond); $commond=sudo userdel .$_POSTuser;echo $commond;if($commond) system($commond); 4.64.6 網(wǎng)絡(luò)操作模塊網(wǎng)絡(luò)操作模塊網(wǎng)絡(luò)操作主要包括管理 Apache 服務(wù)器,管理 PHP 服務(wù)器,管理 MySQL 服務(wù)器,管理 SSH 服務(wù)器,管理 DHCP 服務(wù)器,查看網(wǎng)

46、絡(luò)參數(shù),配置網(wǎng)絡(luò)參數(shù)。查看網(wǎng)絡(luò)參數(shù)主要包括查看網(wǎng)絡(luò)連接狀況、路由表、網(wǎng)卡接口信息、網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)、arp 暫存信息、基本網(wǎng)絡(luò)配置參數(shù)。配置網(wǎng)絡(luò)參數(shù)主要包括配置基本網(wǎng)絡(luò)參數(shù)、添加和刪除路由。管理 PHP 服務(wù)器重要包括查看 PHP 環(huán)境變量、PHP 信息、配置 PHP。管理 Apache 服務(wù)器主要包括停止服務(wù)器和配置服務(wù)器。管理 MySQL 服務(wù)器主要包括數(shù)據(jù)庫查詢和備份,服務(wù)器的啟動(dòng)、停止和重啟。管理 SSH 服務(wù)器主要包括該服務(wù)器的啟動(dòng)、停止和重啟。管理 DHCP 服務(wù)器主要包括該服務(wù)器的啟動(dòng)、停止和重啟。進(jìn)程操作流程如圖 9:20 / 26 文檔可自由編輯打印圖 9 網(wǎng)絡(luò)操作流程配置網(wǎng)絡(luò)參

47、數(shù)的主要代碼如下:switch($_POSTconfig)case ConfigIP:$exec=ifconfig eth0 .$ip. netmask .$mask. up;$exec1=route add default gw .$gw;$flag=1;break;case ConfigDNS:$dns=1;break;case AddHostRoute:$exec=route add -host .$host. gw .$rgw;break;case AddNetRoute:$exec=route add -net .$netroute. netmask .$nmask. gw .$nr

48、gw; break;case DelHostRoute:$exec=route del -host .$dhost. gw .$drgw;break;case DelNetRoute:$exec=route del -net .$dnetroute. netmask .$dnmask. gw .$dnrgw; break;if($exec) system(sudo $exec,&$ret);if(!$ret)echo Changed successfullyn;elseecho Changed unsuccessfullyn;if($flag) 21 / 26 文檔可自由編輯打印sys

49、tem(sudo $exec1,&$ret1);$flag=0;if(!$ret1)echo Getway Changed successfullyn;elseecho Getway Changed unsuccessfullyn;if($dns) $fd=fopen(/etc/resolv.conf, w+);if ($fd) if($dns1)fwrite($fd, nameserver $dns1n); if($dns2)fwrite($fd, nameserver $dns2n); if($dns3)fwrite($fd, nameserver $dns3n); elseech

50、o open !n;$dns=0;if(!$dns1 & !$dns2 & !$dns3)echo DNS has not changed!;elseecho DNS has changed!;fclose($fd);5 5系統(tǒng)測試系統(tǒng)測試5.15.1安全訪問模塊安全訪問模塊當(dāng)用戶在遠(yuǎn)程主機(jī)登錄時(shí),會(huì)出現(xiàn)下圖讓用戶輸入用戶名和密碼。之后還會(huì)出現(xiàn) PHP 的驗(yàn)證頁面,需要再一次輸入另外的密碼。當(dāng)用戶點(diǎn)擊注銷按鈕后,用戶就會(huì)失去管理的頁面,又會(huì)回到 PHP 的身份驗(yàn)證頁面,當(dāng)用戶需要再一次登錄遠(yuǎn)程服務(wù)器進(jìn)行管理時(shí),可以輸入密碼登錄進(jìn)行管理。安全訪問模塊運(yùn)行良好。登錄界面如圖 10:22 / 26 文檔可自由編輯打印圖 10 登錄5.25.2文件操作模塊文件操作模塊當(dāng)用戶登錄到遠(yuǎn)程服務(wù)器進(jìn)入文件操作模塊后,就可以對服務(wù)器的文件系統(tǒng)

溫馨提示

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

最新文檔

評論

0/150

提交評論