摘 要 现在,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 Abstract 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
Linux是目前应用最广泛的操作系统之一,基于LINUX系统的网络服务软件(如FTP、Apache、DNS、SendMail)的功能也很强大。但是现在能够统一对这些服务进行管理的软件却很少的。本课题为减轻系统管理员的工作量而提供了一些简单的系统服务的管理和查看工具。
本课题是采用C/S模式。客户程序功能是界面的编写,并和服务程序通信。采用GTK编写界面,采用Sock编程实现通信。服务器程序功能是接收客户程序的数据,并且通过收到的数据来完成系统或应用服务程序文件的配置。在Linux中服务配置文件主要是以文本文件的形式存在的,所以通过LINUX系统调用很容易修改配置文件。(所有权: 毕业设计网 )
系统测试 测试总体结果,基本上完成了预期的功能,能够实现用户管理操作和系统应用服务的配置管理。但是,在测试的时候发现如果用户操作过快可能导致服务器死机。这是因为服务器端流程是通过客户端发送的字符串来引导的,如果操作过快发送的字符串就有可能错乱,从而没有达到想要的流程。 本系统安全性也不是太好,在服务程序打开的时候,另外的程序可以通过发送和客户端相同的字符串来完成非法的添加用户,修改配置文件等。 权限问题也是本系统不完善的地方,在LINUX中用户的权限是很重要的,本程序只能以root连接才能完全的运行,如果不是root,里面很多的文件就不能查看和配置。(所有权: 毕业设计网 )
使用说明 服务端程序 服务程序运行环境:服务端程序使用可以在Linux任意目录下,Linux系统启动运行级别是5,Linux登陆权限是root用户。LINUX必须包含vsfpt、apache、DNS服务。 服务程序启动:在LINUX终端运行server程序。 客户程序 运行环境:客户程序使用在Linux的/study/src目录下,该目录还应该包含:DNS、user、apache和vsftp文件夹。LINUX系统启动运行级别是5,登陆权限可以是任意权限。在终端运行clinet或用鼠标双击clinet可以启动客户程序。 连接界面:在服务程序启动后,在连接界面上输入要连接的服务器IP,后和服务器建立连接,并进入主界面。 主界面:连接建立好了后,主界面上有各个功能页面。 (1) 用户操作和组:User页面有用户的操作(添加、删除、修改用户)。点击添加用户按钮,在弹出的界面上分别输入用户名,全名和密码,点击OK按钮完成添加用户操作;在用户列表中选种一个用户,点击删除用户按钮,完成删除用户操作;在用户列表中选种一个用户,点击属性按钮,在弹出界面修改用户信息,点击OK按钮,完成修改用户操作。组的操作和用户的操作类似。 (2) 系统启动管理服务操作:在页面左下方有系统启动服务名。点击后可以选中或取消选中服务,点击save按钮后完成系统服务管理操作。 (3) DNS操作:点击了按钮后,在对话框的文本框中填入对应的配置信息,确定后完成对DNS的操作 (4) FTP操作:点击save按钮后向服务器发送文本框中相应的配置信息对服务器的FTP配置文件进行修改;stop、star、restart按钮分别是停止、启动、和重启服务器端FTP服务操作;refresh按钮点击后,在文本框中重新显示当前服务器配置文件中的信息。 (5) Apache操作:电击save按钮后向服务器发送文本框中相应的配置信息对服务器的Apache配置文件进行修改;stop、star、restart按钮分别是停止、启动、和重启服务器端Apache服务操作;refresh按钮点击后,在文本框中重新显示当前服务器配置文件中的信息。viewlog按钮用于查看错误日志。(所有权: 毕业设计网 )
编译环境:LINUX gcc,GTK库 运行环境:FC4
目 录
1 引言 1 1.1 课题背景 1 1.2 国内外研究现状 1 1.3 本课题研究的意义 1 1.4 本课题的研究方法 1 2 GTK编程 1 2.1 GTK简介 1 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 客户程序 20 5.3.1 设计思路 20 5.3.2 程序设计 20 6 系统测试 30 结 论 31 参考文献 31 致 谢 32 声 明 33
参考文献 [1] Bruce Molay(美)著 .Unix/LINUX编程实践教程[M].北京:清华大学出版社.2004。 [2] Richard Stenvens,Bill Fenner(美). Unix网络编程[M].北京:清华大学出版.2001。 [3] RobertLove(美)著.LINUX内核设计与实现[M].北京:机械工业出版社.2004。 [4] Brian W.Kernighan Dennis M.Ritchie(美).C程序设计语言[M].北京:机械工业出版社1999。 [5] 许宏松. LINUX应用程序开发指南:使用Gtk+/Gnome库[M].北京:机械工业出版社2000。 [6] Matt Welsh,Matthias Kalle Dalheimer,Lar Kaufman著.LINUX权威指南(第三版)[M]. 北京: 中国电力出版社.1999。 [7] Olof S.Kylander Karin Kylander著.GIMP权威指南[M].北京: 机械工业出版社.2001。 |