毕业设计基于linux的远程管理系统客户端的实现—论文

上传人:ra****d 文档编号:194337023 上传时间:2023-03-13 格式:DOC 页数:34 大小:1.45MB
收藏 版权申诉 举报 下载
毕业设计基于linux的远程管理系统客户端的实现—论文_第1页
第1页 / 共34页
毕业设计基于linux的远程管理系统客户端的实现—论文_第2页
第2页 / 共34页
毕业设计基于linux的远程管理系统客户端的实现—论文_第3页
第3页 / 共34页
资源描述:

《毕业设计基于linux的远程管理系统客户端的实现—论文》由会员分享,可在线阅读,更多相关《毕业设计基于linux的远程管理系统客户端的实现—论文(34页珍藏版)》请在装配图网上搜索。

1、毕业设计(论文)基于Linux的远程管理系统客户端的实现论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期:基于Linux的远程管理系统客户端的实现摘 要本系统分析了Linux操作系统的特点、远程管理的各种方法和Webmin,并给出了一个远程管理Linux服务器的具体实现方法。利用PHP语言来构建了一个远程管理系统 PHP Webmin,以Web的形式来实现Linux服务器的远程管理,简化了管理难度,并使管理方式更为灵活,从而达到了减轻系统管理员压力,方便系统管理员管理服务器的目的。在此系统中实现了文件操作管理、远程运行shell命令、对系统进程的监控、对系统的关机/

2、重启、对系统用户/组的操作、rpm包组的管理、对网络参数的查看与配置、对常见服务器的基本管理等功能。系统管理员可使用系统中的各功能模对整个Linux服务器进行日常管理。此系统能够应用于对小型Linux服务器的远程管理。关键词:Linux;远程管理;Webmin;PHPThe implement of Client of the system of remote management based on LinuxAbstractThe characteristics of the operating system of Linux, every method of remote manageme

3、nt 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 fle

4、xible 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, t

5、he 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 managem

6、ent of small Server of Linux.Key words: Linux; telecontrol; Webmin; PHP目 录论文总页数:23 页1引言11.1背景11.2当前现状11.3选题意义11.4设计模式22LINUX远程管理分析22.1Linux操作系统22.1.1Linux 究竟是什么?22.1.2学习Linux22.2Linux远程管理32.2.1远程管理方法32.2.2Webmin初解42.2.3PHP Webmin - A simple webmin on PHP53需求分析53.1任务概述53.1.1目标53.1.2工作模式63.1.3运行环境63.1

7、.4编程语言63.1.5用户特点63.2具体需求63.2.1功能需求63.2.2系统流程74总体设计84.1模块划分与功能设计84.2功能模块的初步设计85详细设计105.1服务器设计105.1.1更改Apache配置105.1.2服务器特殊配置115.2命令操作模块设计125.2.1功能描述125.2.2界面设计125.2.3工作流程125.3系统操作模块设计135.3.1功能描述135.3.2界面设计135.3.3工作流程156系统安装使用与测试196.1服务器设置196.2使用系统196.3测试196.3.1基本测试196.3.2功能测试20结 论21参考文献21致 谢22声 明231

8、引言1.1 背景LAMP (Linux + Apache + MySQL + PHP/Perl) 近几年来发展迅速,已经成为Web 服务器的事实标准。这个术语代表了 Linux 平台上的 Apache 网站服务器; MySQL 数据库以及PHP 、Perl编程语言的结合。LAMP 不仅会成为企业接入互联网,也应该会在企业内部网络建设中大有作为。提到开放源代码,你马上就会意识到 Linux操作系统。Linux 是开放源码软件的代表,目前有越来越多的网站把他们的 Web 服务器架构在 Linux操作系统之上,因为 Linux 能够提供健壮的 Web 应用。LAMP 所代表的不仅仅是开放源码,它更是

9、开发和实施高性能Web应用的重要平台。1.2 当前现状随着互联网的高速发展以及Linux企业应用的成熟,Linux被广泛应用于服务器领域,如何实现Linux的远程管理成为网络管理员的首要任务。接触过远程操作的朋友,肯定会立即说出若干个相关windows操作系统软件(PCanywhere、Netop Remote Control),可是Linux下软件都有哪些呢?我们应该如何选择适合自己的远程操作软件呢?这对于一些甚少接触远程操作的朋友而言无疑是个关注的话题。Linux操作系统源于Unix,以其精小灵活稳定的特性,加上其源代码完全公开,几乎秉承了Unix系统的所有优点,赢得了很多用户的青睐,但是

10、Linux的管理操作界面是单一的命令行方式。1.3 选题意义不知Linux服务器的系统管理员有没有过人不在主机前,却又必须掌握主机信息的经验?比如服务器在成都,偏偏管理员却出差到北京去了,这时该怎么办呢?想说找人来帮你到服务器面前看一下,又担心管理员密码给了别人会出状况;想要通过Telnet或者ssh这类远程登录的方式来达到远程控制的目的,可偏偏手边又没有client程序可用,或者当初为了安全性考虑,完全没有在服务器上安装可供远程控制的server,这时候真是心有余力不足啊。而且,对于刚刚接触Linux的系统管理员来说,正确高效地完成各种关键的系统配置简直是一件不可能的任务。即使是一个很有经验

11、的Linux的管理员,也常常会为某些复杂的配置文件的格式而苦恼。本软件的开发主要是为了方便网络系统管理员对本地和远程安装了Linux系统的服务器进行管理,增加管理的方便性,利用B/S结构也从另外一方面减少了管理员的劳动量。管理员利用浏览器在远程登录后,可以方便的对服务器进行运行状态的查看,对网络服务进行配置,对一些数据进行分析,而且可以对异常现象作出快速的反应。1.4 设计模式图1 设计模式本系统的开发要求采用B/S结构,如图1所示。本系统模拟Webmin进行设计与开发。因此,首先了解Webmin的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识选择所熟悉的开

12、发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;最后,系统开发完毕后,进行调试和测试,做好调试和测试的相关记录。整个管理系统中,用文件操作模块作为突破口,首先设计整体页面,再写出文件操作部分以深入了解该系统的工作方式及系统的大致面貌,然后设计Shell命令解释与执行部分操作和进程操作部分,继而逐步增加其他的功能与模块,最后对整个系统进行修饰整理,从而完成了该系统。2 Linux远程管理分析2.1 Linux操作系统2.1.1 Linux 究竟是什么?Linux 操作系统是UNIX 操作系统的一种克隆系统。它是一位赫尔辛基大学学生 Linus

13、 Torvalds(Linux 是 Linuss UNIX 的缩写)创造的,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。借助于Internet 网络,并经过全世界各地计算机爱好者的共同努力下,Linux现已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Internet 网络。 用最简单的话说,Linux 是一个操作系统。Linux 本身实际上只是其内核;它实现了多任务和多用户功能,管理硬件,分配内存并

14、且使应用程序能够运行。2.1.2 学习Linux您希望用 Linux 系统做什么将决定您想要什么样的 Linux 系统,以及在开始使用该系统之前要对它有多深的理解。Linux 是进行内核研究、学习 UNIX 或学习编程的绝佳学习平台;有许多工具和应用程序可用来玩游戏、进行桌面排版或者只是闲来无事发一下电子邮件和浏览 Web。它也是开放和封闭式生产系统的绝佳平台,因为可自由地对其进行最大程度的定制。Linux 可以作为各种事物的平台,从中间件到嵌入式计算和群集,从并行超级计算机到小玩意儿。IBM 已经参与了制造在 Linux 上运行的收银机的项目,以及制造 Linux 手表的项目。其他开发人员已

15、经在 和Sony PlayStation上使用了 Linux。如果完全不了解 Linux,或者正在使用 Linux 作为桌面操作系统,那么您至少需要学习一些有关系统管理和安全性的基本知识。Linux 是作为编程平台的绝佳选择。它符合GCC,这意味着您可以使用GNU 项目出色的编程与调试工具套件 绝对免费,而且享有GNU GPL保证的所有自由。2.1.3 Linux远程管理远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术,这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中

16、的远程控制而言。当操作者使用主控端电脑控制被控端电脑时,就如同坐在被控端电脑的屏幕前一样,可以启动被控端电脑的应用程序,可以使用被控端电脑的文件资料,甚至可以利用被控端电脑的外部打印设备(打印机)和通信设备(调制解调器或者专线等)来进行打印和访问互联网,就像你利用遥控器遥控电视的音量、变换频道或者开关电视机一样。2.1.4 远程管理方法目前主要的应用于Linux的远程连接技术大致分为以下三种:1. 基于命令行的方式 Linux命令: telnet。telnet在linux和windows下均可用,只要打开相应的服务即可。telnet的所有数据在网络上都是明文传输,所以也有安全隐患,在实际的生产

17、系统中也基本上废弃不用,而转用更安全的ssh。但是在某些场合,如内部局域网络, telnet 还是有用武之地的。ssh和telnet类似,但是数据在网络上是加密后再传输的。 rlogin、rsh等r系列命令。因为有较大的安全隐患,所以现在基本上废弃不用。 基于ssh的客户端软件。Secure SSH 或PUTTY等客户端工具通过ssh服务来实现Windows下管理Linux服务器的,这些客户端工具配置使用简单,但是它们都无法启动窗口服务的程序或进程,也无法达到远程桌面控制。说明:命令行的管理方式适合进行初始化、网卡配置等基本操作,不适合做丰富的管理功能。2. Web管理方式Web管理方式是另一

18、种管理工具。这种方式提供了简单的管理界面,适合那些功能不是很多的管理工作。Linux下有一个著名的基于Web的管理工具Webmin,而PHP Webmin的设计初衷就是参照利用Webmin来实现对服务器的简单管理。使用基于Web的管理方式,简单明了操作方便,适合简单的管理工作。3. 基于管理端软件的图形界面方式基于管理端软件的图形界面方式一般需要完成对系统的配置、管理和监控。图形的管理方式直观,是一种重要的管理工具,适合进行复杂的配置,连接多台服务器,同时支持丰富的审计和日志的功能。2.1.5 Webmin初解对于刚刚接触Linux的系统管理员来说,正确高效地完成各种关键的系统配置简直是一件不

19、可能的任务。即使是一个很有经验的Linux的管理员,也常常会为某 些复杂的配置文件的格式而苦恼。因此拥有一个Linux上的GUI管理工具一直是广大Linux爱好者的美好愿望。这里将介绍的Webmin就是这样一个基于Web的Linux管理工具。 1. 什么是WEBMIN?简单地说,Webmin是一个基于Web的Linux系统管理工具,系统管理员Webmin的各种管理功能并完成相应的管理动作。目前Webmin 支持绝大多数的Linux系统,这些系统除了各种版本的Linux以为还包括:AIX、HPUX、Solaris、Unixware、Irix和 FreeBSD等。2. WEBMIN安装Webmin

20、使用perl脚本编写,安装Webmin需要先安装perl5.0.6或以上版本。如果目标系统上没有安装perl的话,需要到 :/ cpan.org下载并安装perl-for- linux,同时需要安装常用的perl模块;如果你需要Webmin支持SSL,你还需要安装OpenSSL和perl模块。Webmin的安装很简单,下载webmin-*.*.tar.gz后用tar -xvzf webmin-*.*.tar.gz解压,运行安装脚本setup.pl,安装过程会询问Webmin配置文件目录、Log目录和系统的监听端口(缺省是10000),还会要求你设置管理员密码。安装脚本还会把Webmin安装成系

21、统的守护进程,在开启系统时自动启动。重新启动系统,访问 :/localhost:10000,如果出现了Webmin的登录界面就说明安装成功了。 所有的管理功能都是以模块的形式插入到Webmin中的。Webmin对形形色色的管理模块进行了分类。主要的类别有:Webmin、系统、服务、硬件和 其他。当你成功登录到达Webmin的首页时,这些类别将以不同的属性页展现在你的面前。 2.1.6 PHP Webmin - A simple webmin on PHPPHP Webmin是一个远程管理工具,它参照Webmin,使用PHP来实现基于Web的对系统的简单管理,使用简单的GUI管理工具,实现对Li

22、nux服务器的远程管理,达到帮助系统管理员、减轻系统管理员负担的目的。所以,可以把PHP Webmin说成是一个构建在PHP上的简单Webmin A simple webmin on PHP。3 需求分析3.1 任务概述3.1.1 目标本系统的开发主要是为了方便网络系统管理员对本地和远程安装了Linux系统的服务器进行管理,增加管理的方便性,利用B/S结构,减少了管理员的劳动量。管理员利用浏览器在远程登录后,可以方便的对服务器进行运行状态的查看,对网络服务进行配置,对一些数据进行分析,并对异常现象做出快速的反应。本系统的目标是完成一个基于WEB的Linux上的GUI管理工具,给Linux系统管

23、理员提供帮助,协助Linux系统管理员正确高效的完成各种关键的系统配置,如远程的文件操作、Shell命令执行、进程操作、系统操作、各种网络服务配置等等。管理员通过浏览器访问次管理系统的各种管理功能并完成相应的管理动作;要求此管理系统同时具有本地和远程管理的能力,要求注意一定的安全设置,保证足够的安全性,在完成系统基本功能的前提下,注意一定的扩展和伸缩性,要求亲近的管理界面和易用的操作。1. 主要任务:运用所学知识,开发基于Linux的远程管理系统,以方便网络系统管理员在客户端对本地或远程主机进行管理。本系统要求实现的部分功能有:文件操作、命令操作、进程操作、系统操作、网络操作。2. 相关要求:

24、1) 本系统的开发要求采用B/S结构,选用所熟悉的开发工具及开发环境进行本系统的设计与开发。2) 本设计要求实现远程管理的功能,界面要简洁实用,功能要完善。3.1.2 工作模式图2 系统工作模式在系统的性能方面,B/S模式具有异地浏览和信息采集的灵活性,任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端,B/S模式还具有管理维护集中方便、用户使用简单、跨平台等优点。因此本系统采用B/S模式(如图2),方便系统管理员在Linux/Win等各种系统中通过浏览器对Linux主机进行远程管理。3.1.3 运行环境 硬件环境:APC机或服务器一台;B内存256M以上(推荐5

25、12M);CPC机需带显示器一个。 软件环境:ALinux Redhat 9.0以上Linux操作系统;BPHP4或PHP5环境;CApache服务器,安装ssl模块。3.1.4 编程语言PHP是一种标准的,多用途的,面向对象的脚本语言,此系统中主要使用PHP脚本语言来进行具体功能实现,使用html与javascript来完成管理系统页面设计。3.1.5 用户特点本系统针对的是Linux系统管理员,需要管理员对Linux有一定程度了解。系统管理员需要理解服务器的远程管理,会使用Linux常用命令,即可使用本系统对Linux服务器监视系统状态和进行诸如远程关机、重启等操作。本系统能辅助系统管理员

26、更好的管理Linux服务器。3.2 具体需求3.2.1 功能需求对Linux系统的管理,大致包括文件的管理,进程的监控,对系统信息的监控,对系统用户和组的管理,对软件包组的管理,对网络信息的监控,对网络服务的配置和管理等等方面。作为远程管理系统,应包含上述功能,同时还可设计一个可远程运行系统命令的shell。经过分析,此系统主要包含功能应为:文件操作功能、系统命令运行功能、进程监控功能、系统信息浏览功能、用户与组管理功能、软件包管理功能、网络监控功能、网络服务配置与管理功能等等。由于此系统是对服务器进行远程管理,涉及到服务器关键系统命令及敏感数据,因此在登录时采用SSL安全连接,并进行目录访问

27、控制。3.2.2 系统流程图3 系统流程如图3所示,此系统工作流程分为三个部分:认证流程、管理流程、注销流程。1. 认证流程管理员端通过浏览器登录此远程网络服务管理系统,输入此系统用户名与密码,用户名或密码错误则需重新输入;正确则进入此管理系统,获得一定权限,管理系统服务。2. 管理流程当用户正确进入系统后,即可进行系统管理,点击某管理模块,设置某项服务,系统通过网络发送命令到Web服务器,与服务器获得交互,服务器通过PHP引擎解析获得命令,调用相应脚本并执行,获得结果返回到远程主机。3. 注销流程管理员完成远程主机更新或管理后,可点击注销以退出本远程管理系统,系统发送注销命令到服务器,服务器

28、使所登录用户失去管理权限,切断用户与服务器的连接,返回到管理系统登录页面。4 总体设计4.1 模块划分与功能设计通过对系统的需求分析,把此Linux远程管理系统分为五个模块(如图4): 文件操作模块; 命令操作模块; 进程操作模块; 系统操作模块; 网络服务操作模块。五个模块的功能配合,再加上在对Apache服务器的特殊配置,整体实现了对Linux服务器的远程管理与基本信息监控。图4 系统模块在整个系统设计中,本人完成里命令操作模块与系统操作模块,其余模块由合作者孙泽玺设计完成。4.1.1 功能模块的初步设计1、文件操作在文件操作模块中可以进行查看文件或目录,新建文件或目录,删除文件或目录,复

29、制文件或目录,编辑文件,上传文件,下载文件等等操作,在此文件操作模块中需对服务器文件或目录属性有一定设置;2、命令操作对各种SHELL命令的解释与执行,可执行常用Linux命令,可在此模块中进行进程操作和系统操作等等,注意使用的是Web模式,无法执行交互式Shell命令;如图5所示,在设计中,使用一个表单获得commond变量,提交给system函数后执行system(“sudo $commond”),并返回结果。图5 命令操作设计流程3、进程操作查看或终止正在运行的进程,查看开启的服务列表(端口号)、对开启服务进行管理、查看当前系统所有正在运行的进程并且可以对进程进行相关操作;4、系统操作系

30、统操作中包括:关机或重启、查看系统信息、管理用户和组、管理软件包(如图6);图6 系统操作模块结构图如图7,系统操作模块的总体设计跟命令操作中类似,使用表单获取所需运行命令或参数,再提交给system函数执行并返回结果:图7 系统操作总体流程1) 关机和重启,可通过管理员点击Shutdown、Reboot按钮,从而调用system函数执行内置的关机、重启命令,也可在表单中输入其他关机或重启命令并运行;2) 查看系统信息,通过switch判断提交的命令,并调用system函数执行内置命令如uname a、fdisk l等,包括查看CPU信息、查看分区信息、查看内核;3) 管理用户和组,可以查看系

31、统拥有用户和组,并通过简单的表单提交,进行添加、删除用户或组的操作,详见图8;图8 用户/组管理总体设计图4) 管理软件包,可以查看系统所有已安装软件包,并输入关键字搜索查看特定软件包,以及根据搜索出的软件包名进行软件包删除操作;5、网络服务操作 管理Apache服务器,查看并配置Apache服务器状态与参数; 管理DNS服务器,查看并配置DNS服务器参数; 管理MySQL服务器,通过Web进行Mysql服务器的备份等; 管理DHCP服务器,查看网络状态,配置网络参数。5 详细设计5.1 服务器设计此管理系统的目的是对Linux进行远程管理,则在管理过程中需要对Linux系统配置文件进行读取,

32、或者运行系统命令,访问系统敏感数据等。而在Linux系统中,默认的Apache用户权限是无法访问管理系统所需文件,无法运行关键系统命令的,因此,需要对Apache服务器进行一些特殊配置,提升其权限,并且需要考虑安全问题,对用户的认证问题等等。在本系统中,使用SSL连接,运用Apache基本验证来认证用户;通过对Apache服务器进行特殊配置,使其获得root权限,完成远程管理Linux服务器的目的。5.1.1 更改Apache配置为了保证系统的安全性,在此对ApacheWeb服务器的目录执行访问控制 ,使用.htaccess访问文件和htpasswd程序为一个目录建立ACL,来对用户进行身份验

33、证,并在.htaccess文件中设置使用SSL连接,完善安全性。假设PHPWebmin位于/var/www/phpwebmin目录中。、 配置 d.conf用vi编辑器打开Apache配置文件 d.Conf(默认在/etc/ d/conf/目录下),找到字段,在下面的属性设置中添加或修改AllowOverride ALL/此参数设置哪些目录使用.htaccess进行保护;、 为所保护目录建立ACL进入phpwebmin目录,cd /var/www/phpwebmin,在此目录下建立隐藏文件.htaccess(必须在htaccess文件前添加一个点号,如果不这样做,就无法建立ACL,因为点号表示

34、建立一个隐藏文件) vi .htaccess,在.htaccess文件中输入如下代码:SSLRequireSSL /使用SSL安全连接AuthName PHP Webmin/验证名称AuthType Basicrequire valid-user /允许password文件中的所有用户访问AuthUserFile /var/www/phpwebmin/.phpwebminpasswd/用户身份数据库文件;、 创建用户身份验证数据库在命令行下输入以下口令创建用户身份验证数据库文件,会要求你为用户admin创建密码:htpasswd -c /var/www/phpwebmin/.phpwebmin

35、passwd adminNew password:Re-type new password: 建立后的.phpwebminpasswd文件内容类似于:admin:Op96DPmXTKy5w /用户名:MD5加密后的密码若系统没有安装htpasswd,也可在网上生成用户名密码后放入.phpwebminpasswd文件。这样,就已经为Apache服务器建立了一个用户账号数据库,并对phpwebmin目录实行了目录保护,并实现了用户基本验证,需要用安全连接 s:/localhost/phpwebmin/进行访问,访问过程中会弹出验证对话框。5.1.2 服务器特殊配置Apache的配置是为了实现目录保

36、护和基本验证,但为了提高用户的权限,还需要对服务器进行一些配置。、 查看 d.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命令执行所有命令。经过此配置后,apache用户只要使用sudo命令即可获得root权限。5.2 命令操作

37、模块设计5.2.1 功能描述对命令的解释与执行,执行常用Linux命令,通过前面的服务器配置后,使用户在浏览器中用户系统root权限,执行系统命令,注意使用的是Web模式,无法执行交互式Shell命令。5.2.2 界面设计页面中仅有一个输入框,一个提交按钮,和一个结果显示区域,如图9:图9 命令执行文本输入框获得commond变量,提交给system函数后运行并把结果显示在textarea中:input type=text name=command size=60 value= result:/*具体代码*/5.2.3 工作流程用户在文本框中输入并提交命令,点击go运行,在文本区域中返回并显示

38、运行结果。具体流程见 图4命令操作设计流程。实现代码如下:5.3 系统操作模块设计系统操作模块中又包括关机和重启、查看系统信息、管理用户和组、管理软件包四个子模块。不同的子模块采用相似的方式实现其功能。5.3.1 功能描述 系统关机、系统重启; 查看系统cpu信息、查看硬盘信息、查看内核; 查看系统用户和组,添加删除用户,添加删除组; 查看系统安装软件包、根据关键字搜索软件包、根据软件包全名删除软件。5.3.2 界面设计基本设计为,页面上方为提交按钮,下方为一个文本区域,点击按钮时调用system函数运行内置命令,并在文本区域中返回结果。下面以用户/组管理模块来说明界面设计模式,如图10所示。

39、查看用户/组页界面代码:/*具体代码*/图10 查看所有用户在管理用户和组子模块中,首先在edit_user.html页中填写user属性,包括用户名,用户工作目录,用户shell,用户uid,用户密码等参数,提交至save_user.php页并运行useradd操作,同时返回运行结果。如图11所示,编辑用户页面中,三个输入框分别为用户名获取变量$user,用户ID获取变量$uid,用户目录获取变量$home,一个选择框选择用户默认shell获取$shell,另一选择是否需要密码,需要则输入密码获取$encpass,使用一个提交按钮Creat来提交所输入的用户信息至save_user.php页

40、,代码如下: UsernameUser ID Home directory Shell/bin/sh/bin/csh/bin/bash/bin/false/sbin/nologinOther.Password No password required Encrypted password.图11 新建用户5.3.3 工作流程1. 用户点击关机与重启子模块,点击Shutdown或Reboot按钮产生关机或重启操作,也可执行自定义关机/重启命令,具体流程如图12;图12 关机/重启操作流程实现代码如下:switch($_POSTinit)case Shutdown:echo Shutdown im

41、mediately.n;$exec=sudo init 0;break;case Reboot:echo Reboot immediately.n;$exec=sudo init 6;if($_POSTcommand)echo Waiting.n;$exec=sudo .$_POSTcommand;if($exec) system($exec);echo nDone.;2. 打开查看系统信息子模块,查看CPU Info、Disk Info、Kernel Version,流程如图13;图13 查看系统信息流程实现代码如下:3. 打开管理用户和组子模块,在初始页面中可查看系统用户和组,点击查看用户

42、/组按钮时,调用system函数运行cat命令,在文本区域中显示/etc/passwd或/etc/group文件的内容;点击添加用户连接进入用户的信息页面user_edit.html,填写用户基本信息,提交至添加页user_save.php,运行sudo useradd命令,完成添加操作;点击删除用户连接,进入删除页面del_user.php,填写用户名,运行sudo userdel命令,完成删除操作,工作流程见 图8 用户/组管理总体设计图,下面为添加/删除用户代码。添加用户代码:switch($_POSTpassmode)case 0:$passwd=;break;case 1:$pass

43、wd= -p .$_POSTencpass;if(!$_POSThome)$home= -d .$_POSThome;$user=$_POSTuser;$uid= -u .$_POSTuid;$shell= -s .$_POSTshell;$commond=sudo useradd .$_POSTuser. -d .$_POSThome. -s .$_POSTshell. -u .$_POSTuid. -p .$_POSTencpass;echo $commond;if($commond) system($commond); 删除用户代码:$commond=sudo userdel .$_PO

44、STuser;echo $commond;if($commond) system($commond); 4. 打开管理软件包子模块,查看系统已安装软件包,填写关键字搜索,根据软件包全名进行删除操作,软件包管理流程如图14。图14 软件包管理流程查看已安装软件包代码:switch($_POSTpackage) case Show all package:echo Waiting.n;$exec=sudo rpm -qa;根据关键字搜索代码:if($_POSTsearch)echo Waiting.n;$exec=sudo rpm -qa | grep .$_POSTsearch; if($exe

45、c) system($exec);根据关键字删除代码:if($_POSTuninstall)echo Waiting.n;$exec=sudo -e .$_POSTuninstall;if($exec) if(system($exec)echo nDone.n;elseecho Error.Check your package name or operation.;6 系统安装使用与测试6.1 服务器设置按照 5.1服务器设计中给出步骤,分别对Apache Web服务器,及Linux服务器进行配置,注意若不对/etc/sudoers进行配置,则本系统大部分功能无法使用。也可省略对.htacce

46、ss和.phpwebminpasswd的生成,使用源代码中所带的ACL文件和用户密码数据文件,请注意修改.htaccess文件中AuthUserFile后的字段指向相应数据文件,默认用户名为admin,密码为admin。6.1.1 使用系统把PHP Webmin源代码放至/var/www/phpwebmin目录,在浏览器中通过 s:/localhost/phpwebmin/进行访问和测试,也可通过远程访问进行测试。6.2 测试6.2.1 基本测试1. 通过 s登录并输入用户名和密码,通过认证则进入主页面,如图15;图15 主页面2. 若使用 登录则显示Forbidden,如图16;图16 无法

47、登录3. 在未通过验证的情况下无法访问访问任何phpwebmin下级目录;6.2.2 功能测试使用PHP Webmin对系统进行简单管理:1. 运行Shell命令,输入whoami显示结果为root,如图9所示;2. 查看用户,点击Show all user,在文本区域中显示所有系统用户,及其主目录、uid、shell,如图10所示例;3. 查看CPU信息,点击CPU Info,在文本区域中显示CPU信息,如图17;图17 查看CPU信息4. 关机/重启,点击Shutdown,系统将立即关闭,点击Reboot,系统将立即重启。已知问题:使用Apache基本验证会在浏览器中保存session,需

48、要在完成系统管理操作后关闭浏览器或手动删除浏览器session;apache用户经过配置后可执行sudo命令,产生了系统安全隐患。第 21 页 共 23 页结 论目前,经过紧张而有序的毕业设计,Linux远程管理系统主体功能已全面实现。系统界面简洁,操作方便,功能齐全,实现了文件操作、远程运行Shell命令、进程监控、用户/组管理、系统信息查看、Rpm软件包管理、查看/配置网络参数、管理常见服务器软件的功能,基本实现了对Linux系统的远程管理。但是也有需要进一步改进的地方,如:在进程监控时,需要查看进程信息后结合命令行操作来实现对进程的关闭;还有本系统没有完全实现服务器配置功能,没有完全解决

49、对系统配置文件的读写问题等。本系统的设计与开发在老师的领导下都参照软件开发公司的设计与开发模式。通过对本系统的需求分析,概要设计、详细设计、编码、测试等每一部分的学习和实践。使我体会到系统的设计阶段有举足轻重的地位,设计的阶段的质量优劣,直接影响到以后系统质量。需求是否准确,影响到最后系统是否能达到功能的要求,如果设计合理,在编码阶段实现就相对容易了。本系统的实现过程中,本人对Linux、Webmin、PHP、Visio设计工具等都更深层次的认识和理解。本人相信这对以后工作将会大有益处的。综上所述,毕业设计阶段让我充分的应用四年在校所学的知识,让理论和实践完美的结合起来。参考文献1 Ashis

50、h Wilfred & Meeta Gupta & Kartik Bhatnagar美.PHP专业项目实例开发M.北京:中国水利水电出版社,2003。2 Warren W.Gay美. 实战Linux Socket编程M.西安:西安电子科技大学出版社,2002。3 郭金锋,林宇.PHP&MySql Web网络编程M.北京:人民邮电出版社,2001。4 Marcel Gagne美,常晓波.Linux系统管理用户指南M.北京:清华大学出版社 ,2003。5 John Ha美Red Hat Linux 入门指南OL. :/ chinalinuxpub /doc/manual/9.0/rhl-gsg-z

51、h_CN-9/,2003-09-11。6 STCore . Apache中实现身份验证和访问控制OL . :/ stcore /security/2006-11-08/1163000103d112784.html ,2006-11-8。7 Stan & Peter Klimas美Linux常用命令OL. :/ 2004-07-22。致 谢本文是在方睿老师的热情关心和指导下完成的,他渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢!特别感谢开发小组合作伙伴孙泽玺同学在系统设计中给予的帮助,因为与他的合作,才得以高效率的完成了所有功能模块!在论文

52、完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!作者简介姓 名: 徐斌 性别:男出生年月: 1985年10月 民族:汉E-mail: fadebingmail 第 29 页 共 23 页声 明本论文的工作是 2007年2月至2007年6月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。关于学位论文使用权和研究成果知识产权的说明:本人完全了解成都信

53、息工程学院有关保管使用学位论文的规定,其中包括:(1)学校有权保管并向有关部门递交学位论文的原件与复印件。(2)学校可以采用影印、缩印或其他复制方式保存学位论文。(3)学校可以学术交流为目的复制、赠送和交换学位论文。(4)学校可允许学位论文被查阅或借阅。(5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。特此声明! 作者签名: 2007年 月 日lists. Really? I said, trying not to sound jubilant. I found out they wear

54、this red scarf thing on their arm. It covers up Sitting Bulls horse. That is a problem, I said. Well, thats not all. My docent told me about your lunch. Did Grandma Karen really tell you you were right? Yes. Gosh! I didnt believe that part. Well, anyway, my docent said you wouldnt listen to her abou

55、t how great menstruating is, that you all kept talking about the negative aspects of it, like bloating and cramps and crabbiness, and I said, What are cramps? and she said, Menstrual bleeding frequently causes headaches and depression, and I said, Bleeding!? Nobody ever said anything about bleeding! Why didnt you tell me there was blood involved, Mother? I had, but I felt it wiser to keep silent. And you didnt say a word about its being painful. An uget. It was impossible to keep secrets when seven people lived in such a confined space.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!