摘 要
本系统分析了linux操作系统的特点、远程管理的各种方法和webmin,并给出了一个远程管理linux服务器的具体实现方法。利用php语言来构建了一个远程管理系统 —— php webmin,以web的形式来实现linux服务器的远程管理,简化了管理难度,并使管理方式更为灵活,从而达到了减轻系统管理员压力,方便系统管理员管理服务器的目的。
在此系统中实现了文件操作管理、远程运行shell命令、对系统进程的监控、对系统的关机/重启、对系统用户/组的操作、rpm包组的管理、对网络参数的查看与配置、对常见服务器的基本管理等功能。系统管理员可使用系统中的各功能模对整个linux服务器进行日常管理。此系统能够应用于对小型linux服务器的远程管理。
关键词:linux;远程管理;webmin;php
1引言
1.1 背景
lamp (linux + apache + mysql + php/perl) 近几年来发展迅速,已经成为web 服务器的事实标准。这个术语代表了 linux 平台上的 apache 网站服务器; mysql 数据库以及php 、perl编程语言的结合。lamp 不仅会成为企业接入互联网,也应该会在企业内部网络建设中大有作为。提到开放源代码,你马上就会意识到 linux操作系统。linux 是开放源码软件的代表,目前有越来越多的网站把他们的 web 服务器架构在 linux操作系统之上,因为 linux 能够提供健壮的 web 应用。WwW.133229.coMlamp 所代表的不仅仅是开放源码,它更是开发和实施高性能web应用的重要平台。
1.2 当前现状
随着互联网的高速发展以及linux企业应用的成熟,linux被广泛应用于服务器领域,如何实现linux的远程管理成为网络管理员的首要任务。接触过远程操作的朋友,肯定会立即说出若干个相关windows操作系统软件(pcanywhere、netop remote control),可是linux下软件都有哪些呢?我们应该如何选择适合自己的远程操作软件呢?这对于一些甚少接触远程操作的朋友而言无疑是个关注的话题。
linux操作系统源于unix,以其精小灵活稳定的特性,加上其源代码完全公开,几乎秉承了unix系统的所有优点,赢得了很多用户的青睐,但是linux的管理操作界面是单一的命令行方式。
1.3 选题意义
不知linux服务器的系统管理员有没有过人不在主机前,却又必须掌握主机信息的经验?比如服务器在成都,偏偏管理员却出差到北京去了,这时该怎么办呢?想说找人来帮你到服务器面前看一下,又担心管理员密码给了别人会出状况;想要通过telnet或者ssh这类远程登录的方式来达到远程控制的目的,可偏偏手边又没有client程序可用,或者当初为了安全性考虑,完全没有在服务器上安装可供远程控制的server,这时候真是心有余力不足啊。
而且,对于刚刚接触linux的系统管理员来说,正确高效地完成各种关键的系统配置简直是一件不可能的任务。即使是一个很有经验的linux的管理员,也常常会为某些复杂的配置文件的格式而苦恼。本软件的开发主要是为了方便网络系统管理员对本地和远程安装了linux系统的服务器进行管理,增加管理的方便性,利用b/s结构也从另外一方面减少了管理员的劳动量。管理员利用浏览器在远程登录后,可以方便的对服务器进行运行状态的查看,对网络服务进行配置,对一些数据进行分析,而且可以对异常现象作出快速的反应。
1.4 设计模式
图1 设计模式
本系统的开发要求采用b/s结构,如图1所示。本系统模拟webmin进行设计与开发。因此,首先了解webmin的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识选择所熟悉的开发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;最后,系统开发完毕后,进行调试和测试,做好调试和测试的相关记录。整个管理系统中,用文件操作模块作为突破口,首先设计整体页面,再写出文件操作部分以深入了解该系统的工作方式及系统的大致面貌,然后设计shell命令解释与执行部分操作和进程操作部分,继而逐步增加其他的功能与模块,最后对整个系统进行修饰整理,从而完成了该系统。
2linux远程管理分析
2.1linux操作系统
2.1.1linux 究竟是什么?
linux 操作系统是unix 操作系统的一种克隆系统。它是一位赫尔辛基大学学生 linus torvalds(linux 是 linus's unix 的缩写)创造的,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。借助于internet 网络,并经过全世界各地计算机爱好者的共同努力下,linux现已成为今天世界上使用最多的一种unix 类操作系统,并且使用人数还在迅猛增长。linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:unix 操作系统、minix 操作系统、gnu 计划、posix 标准和internet 网络。
用最简单的话说,linux 是一个操作系统。linux 本身实际上只是其内核;它实现了多任务和多用户功能,管理硬件,分配内存并且使应用程序能够运行。
2.1.2学习linux
您希望用 linux 系统做什么将决定您想要什么样的 linux 系统,以及在开始使用该系统之前要对它有多深的理解。
linux 是进行内核研究、学习 unix 或学习编程的绝佳学习平台;有许多工具和应用程序可用来玩游戏、进行桌面排版或者只是闲来无事发一下电子邮件和浏览 web。它也是开放和封闭式生产系统的绝佳平台,因为可自由地对其进行最大程度的定制。linux 可以作为各种事物的平台,从中间件到嵌入式计算和群集,从并行超级计算机到小玩意儿。ibm 已经参与了制造在 linux 上运行的收银机的项目,以及制造 linux 手表的项目。其他开发人员已经在手机和sony playstation上使用了 linux。
如果完全不了解 linux,或者正在使用 linux 作为桌面操作系统,那么您至少需要学习一些有关系统管理和安全性的基本知识。
linux 是作为编程平台的绝佳选择。它符合gcc,这意味着您可以使用gnu 项目出色的编程与调试工具套件 —— 绝对免费,而且享有gnu gpl保证的所有自由。
2.1.3linux远程管理
远程控制是在网络上由一台电脑(主控端remote/客户端)远距离去控制另一台电脑(被控端host/服务器端)的技术,这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言。当操作者使用主控端电脑控制被控端电脑时,就如同坐在被控端电脑的屏幕前一样,可以启动被控端电脑的应用程序,可以使用被控端电脑的文件资料,甚至可以利用被控端电脑的外部打印设备(打印机)和通信设备(调制解调器或者专线等)来进行打印和访问互联网,就像你利用遥控器遥控电视的音量、变换频道或者开关电视机一样。
2.1.4远程管理方法
目前主要的应用于linux的远程连接技术大致分为以下三种:
1.基于命令行的方式
linux命令: telnet。telnet在linux和windows下均可用,只要打开相应的服务即可。telnet的所有数据在网络上都是明文传输,所以也有安全隐患,在实际的生产系统中也基本上废弃不用,而转用更安全的ssh。但是在某些场合,如内部局域网络, telnet 还是有用武之地的。ssh和telnet类似,但是数据在网络上是加密后再传输的。
rlogin、rsh等r系列命令。因为有较大的安全隐患,所以现在基本上废弃不用。
基于ssh的客户端软件。secure ssh 或putty等客户端工具通过ssh服务来实现windows下管理linux服务器的,这些客户端工具配置使用简单,但是它们都无法启动窗口服务的程序或进程,也无法达到远程桌面控制。
说明:命令行的管理方式适合进行初始化、网卡配置等基本操作,不适合做丰富的管理功能。
2.web管理方式
web管理方式是另一种管理工具。这种方式提供了简单的管理界面,适合那些功能不是很多的管理工作。linux下有一个著名的基于web的管理工具webmin,而php webmin的设计初衷就是参照利用webmin来实现对服务器的简单管理。使用基于web的管理方式,简单明了操作方便,适合简单的管理工作。
3.基于管理端软件的图形界面方式
基于管理端软件的图形界面方式一般需要完成对系统的配置、管理和监控。图形的管理方式直观,是一种重要的管理工具,适合进行复杂的配置,连接多台服务器,同时支持丰富的审计和日志的功能。