远程管理linux系统工具,远程管理Linux系统工具的设计与实现Linux013
一種遠程管理Linux系統工具的設計與實現
摘? 要
現在,Linux已經是應用比較廣泛的操作系統之一,在其系統中有很多的服務。為了實現遠程配置和管理Linux中的各種服務,需要有一種遠程管理Linux系統的工具軟件,Webmin就是一種較好的B/S模式軟件,而該課題以C/S模式實現。該工具主要功能實現對Linux系統用戶和組的添加、修改和刪除;對系統應用服務(如:DNS、FTP、Apache、系統啟動服務管理)進行管理和配置,這些服務的遠程配置主要是通過修改服務配置文本文件來實現的。該遠程管理工具選用C/S模式設計,在客戶端,采用GTK編程來實現操作界面;在服務器端,選用Linux系統的文件調用函數來讀寫配置文件中的數據;采用Sock TCP編程來實現客戶端和服務端之間的數據通信。通過系統測試后,完成預期的目標,但是需要進一步完善程序和考慮安全性后,方可應用于實際的遠程管理。
關鍵詞:Linux;系統服務;C/C++;GTK;系統調用;Socket
The Design and Implementation of a Remote Management Tool for Linux
Abstracthttp://www.http16sheji8.cn/
The operating system of Linux has become one of the most popular operating systems nowadays. It provides many kinds of service. In order to configure and manage the service remotely, the tool of remote management of the operating system of Linux is needed. Webmin is a good tool of software based on the model of B/S. This design is implemented based on the model of C/S. The main functions of the system include addition, modification, deletion of users and groups of Linux operating system and configuration and management of the service of application of the system, such as the DNS, FTP, Apache and the management of booting service. The remote management of service is implemented by modifying the files of configuration. The model of C/S is selected by this system. In the Client, the operating interface is made by the programming of GTK. In the Server, the functions of transferring of files of Linux operating system are used to write and read the data of the configuration files. The communication of Client and Server is implemented by the programming of Sock TCP. The testing demonstrates that the system has reached the prospective goal. But lots of improvements should be made and the problems of security should be considered more. After being modified and perfected, the system can be used to manage the system remotely.
Key words: Linux;System Servers;C/C++;GTK;System Call;Socket
目? 錄http://www.http16sheji8.cn/
論文總頁數:33頁
1?引言?1
1.1?課題背景?1
1.2?國內外研究現狀?1
1.3?本課題研究的意義?1
1.4?本課題的研究方法?1
2?GTK編程?1
2.1?GTK簡介?1http://www.16sheji8.cn/2.2?常用的GTK構件?3
3?LINUX系統調用?6
3.1?LINUX系統文件?6
3.2?如何從文件中讀取數據?6
3.3?進程和線程的使用?7
4?基本的套接口編程?7
4.1?概述?7
4.2?簡單的網絡編程?8
5?程序設計和流程圖?10
5.1?設計思路?10
5.2?服務程序?10
5.2.1?流程設計?10
5.2.2?功能模塊?11
5.3?客戶程序?20http://www.http16sheji8.cn/
5.3.1?設計思路?20
5.3.2?程序設計?20
6?系統測試?30
結??? 論?31
參考文獻?31
致??? 謝?32
聲??? 明?33
1?引言
1.1? 課題背景
Linux是目前應用最廣泛的操作系統之一,基于Linux系統的網絡服務軟件(如FTP、Apache、DNS、SendMail)的功能也很強大。但是現在能夠統一對這些服務進行管理的軟件卻很少的。本課題為減輕系統管理員的工作量而提供了一些簡單的系統服務的管理和查看工具。
1.2? 國內外研究現狀
Linux是現在開源項目的代表,很多大的硬件廠商也在支持Linux的發展。而且Linux平臺上的服務軟件也是越來越多了。現在Linux已經進入到企業級應用,Webmin是一種基于B/S模式的遠程管理Linux系統的軟件工具。
1.3? 本課題研究的意義??? 本課題是為了給系統管理員提供一種遠程管理Linux中某些主要服務的工具軟件,完成服務配置管理和查看一些重要的數據。由于Linux是開源項目的代表,對Linux的學習有助于對計算機系統和軟件理論知識的提高。通過該課題的設計和實現,既解決遠程管理Linux系統,又讓自己掌握了一些Linux系統編程和Sock編程能力。
1.4? 本課題的研究方法
本課題主要是對網絡配置、GTK庫、Linux系統調用和網絡編程方面的研究。采用C/S模式,在客戶端采用GTK函數實現用戶界面的編寫,在服務器端通過Linux的系統調用,來實現本地服務配置,然后再通過Sock編程來實現服務器和客戶端的通信,傳遞配置內容和服務指令。
2?GTK編程http://www.http16sheji8.cn/
2.1?GTK簡介
GTK(GIMP Toolkit,GIMP工具包)是一個用于創造圖形用戶接口的多平臺工具。它包含有基本的空間和一些很復雜的控件:例如文件選擇控件。GTK最初是GIMP(GNU圖形處理程序)開發的控件集合,然后它不斷擴展,直到今天被用于大量的應用程序當中。
從根本上來說,主循環是由glib實現的。Gtk將glib主循環連接到Gdk的X服務器,并提供一個方便的接口。http://www.16sheji8.cn/
Gtk分別用gtk_main()函數和gtk_main_quit()函數來運行主循環和退出主循環,當系統調用了gtk_main()函數后,由于gtk_main()函數可以遞歸調用,所以需要調用gtk_main_quit()函數才能退出gtk。
gtk_main()函數的所有功能都是監視Gtk程序和與X服務的連接,對同樣的時間隊列起作用。gtk_main()函數用于阻塞該進程直到滿足某些條件。所有的Gtk程序都用這個技巧使應用程序正在運行時main()函數被阻塞,直到用戶通過點擊鼠標或鍵盤來產生一個信號,并通過該信號來調用相應的回調函數。
GTK是一個時間驅動工具包,它將在gtk_main()函數中一直等待,直到某個事件的發生或控制權被交給相應的函數。http://www.http16sheji8.cn/
(1)?信號
控制權的傳遞是使用“信號”的方法。一旦事件發生,比如鼠標器按鈕被按下,被按下的構件(按鈕)將引發適當的信號。有一些信號是大多數構件都具備的,比如destory,還有一些是某些構件專有的,比如在按扭的toggled信號。要讓一個按鈕執行一個操作,我們需要寫一段信號處理程序,以捕獲它的信號,然后調用相應的回調函數。
這由類似以下所示的函數實現:
Gint gtk_signal_connect(GtkObject???? *object,
Gchar???? *name,
GtkSignalFunc func,
gpointer func_data );
上面函數的第3個參數為回調函數,它的形式通常是:
void callback_func( GtkWidget *widget, gpointer callback_data );
(2)?事件http://www.16sheji8.cn/
除了上面的信號機制外,還有一些和X事件機制相對應的事件。回調函數也可以和這些事件連接起來應用。將回調函數連接到X的某一個事件,需要使用gtk_signal_connect函數,并使用事件名稱作為命名參數。事件的回調函數與信號的回調函數在形式上略有不同:
Void func(GtkWidget *widget,http://www.http16sheji8.cn/
GdkEvent *event,
總結
以上是生活随笔為你收集整理的远程管理linux系统工具,远程管理Linux系统工具的设计与实现Linux013的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 拔牙一般的收费标准是多少?
 - 下一篇: 一只牛多少钱啊?