毕业设计-基于LINUX的远程管理系统客户端的实现—论文.doc_第1页
毕业设计-基于LINUX的远程管理系统客户端的实现—论文.doc_第2页
毕业设计-基于LINUX的远程管理系统客户端的实现—论文.doc_第3页
毕业设计-基于LINUX的远程管理系统客户端的实现—论文.doc_第4页
毕业设计-基于LINUX的远程管理系统客户端的实现—论文.doc_第5页
免费预览已结束,剩余29页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕毕 业业 设设 计计 论论 文文 基于基于 Linux 的远程管理系统客户端的实现的远程管理系统客户端的实现 论文作者姓名 论文作者姓名 申请学位专业 申请学位专业 申请学位类别 申请学位类别 指指导导教教师师姓姓名名 职职称称 论文提交日期 论文提交日期 基于基于 Linux 的远程管理系统客户端的实现的远程管理系统客户端的实现 摘摘 要要 本系统分析了 Linux 操作系统的特点 远程管理的各种方法和 Webmin 并 给出了一个远程管理 Linux 服务器的具体实现方法 利用 PHP 语言来构建了一 个远程管理系统 PHP Webmin 以 Web 的形式来实现 Linux 服务器的远程 管理 简化了管理难度 并使管理方式更为灵活 从而达到了减轻系统管理员 压力 方便系统管理员管理服务器的目的 在此系统中实现了文件操作管理 远程运行 shell 命令 对系统进程的监控 对系统的关机 重启 对系统用户 组的操作 rpm 包组的管理 对网络参数的查 看与配置 对常见服务器的基本管理等功能 系统管理员可使用系统中的各功 能模对整个 Linux 服务器进行日常管理 此系统能够应用于对小型 Linux 服务 器的远程管理 关键词关键词 Linux 远程管理 Webmin PHP The implement of Client of the system of remote management based on Linux Abstract The characteristics of the operating system of Linux every method of remote management 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 flexible 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 the 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 management of small Server of Linux Key words Linux telecontrol Webmin PHP 目目 录录 论文总页数 23 页 1引言 1 1 1背景 1 1 2当前现状 1 1 3选题意义 1 1 4设计模式 2 2LINUX 远程管理分析 2 2 1LINUX操作系统 2 2 1 1Linux 究竟是什么 2 2 1 2学习 Linux 2 2 2LINUX远程管理 3 2 2 1远程管理方法 3 2 2 2Webmin 初解 4 2 2 3PHP Webmin A simple webmin on PHP 5 3需求分析 5 3 1任务概述 5 3 1 1目标 5 3 1 2工作模式 6 3 1 3运行环境 6 3 1 4编程语言 6 3 1 5用户特点 6 3 2具体需求 6 3 2 1功能需求 6 3 2 2系统流程 7 4总体设计 8 4 1模块划分与功能设计 8 4 2功能模块的初步设计 8 5详细设计 10 5 1服务器设计 10 5 1 1更改 Apache 配置 10 5 1 2服务器特殊配置 11 5 2命令操作模块设计 12 5 2 1功能描述 12 5 2 2界面设计 12 5 2 3工作流程 12 5 3系统操作模块设计 13 5 3 1功能描述 13 5 3 2界面设计 13 5 3 3工作流程 15 6系统安装使用与测试 19 6 1服务器设置 19 6 2使用系统 19 6 3测试 19 6 3 1基本测试 19 6 3 2功能测试 20 结 论 21 参考文献 21 致 谢 22 声 明 23 第 1 页 共 23 页 1 1引言引言 1 11 1 背景背景 LAMP Linux Apache MySQL PHP Perl 近几年来发展迅速 已经成 为 Web 服务器的事实标准 这个术语代表了 Linux 平台上的 Apache 网站服 务器 MySQL 数据库以及 PHP Perl 编程语言的结合 LAMP 不仅会成为企业 接入互联网 也应该会在企业内部网络建设中大有作为 提到开放源代码 你 马上就会意识到 Linux 操作系统 Linux 是开放源码软件的代表 目前有越来 越多的网站把他们的 Web 服务器架构在 Linux 操作系统之上 因为 Linux 能 够提供健壮的 Web 应用 LAMP 所代表的不仅仅是开放源码 它更是开发和实 施高性能 Web 应用的重要平台 1 21 2 当前现状当前现状 随着互联网的高速发展以及 Linux 企业应用的成熟 Linux 被广泛应用于 服务器领域 如何实现 Linux 的远程管理成为网络管理员的首要任务 接触过 远程操作的朋友 肯定会立即说出若干个相关 windows 操作系统软件 PCanywhere Netop Remote Control 可是 Linux 下软件都有哪些呢 我们 应该如何选择适合自己的远程操作软件呢 这对于一些甚少接触远程操作的朋 友而言无疑是个关注的话题 Linux 操作系统源于 Unix 以其精小灵活稳定的特性 加上其源代码完全公 开 几乎秉承了 Unix 系统的所有优点 赢得了很多用户的青睐 但是 Linux 的管 理操作界面是单一的命令行方式 1 31 3 选题意义选题意义 不知 Linux 服务器的系统管理员有没有过人不在主机前 却又必须掌握主 机信息的经验 比如服务器在成都 偏偏管理员却出差到北京去了 这时该怎 么办呢 想说找人来帮你到服务器面前看一下 又担心管理员密码给了别人会 出状况 想要通过 Telnet 或者 ssh 这类远程登录的方式来达到远程控制的目的 可偏偏手边又没有 client 程序可用 或者当初为了安全性考虑 完全没有在服 务器上安装可供远程控制的 server 这时候真是心有余力不足啊 而且 对于刚刚接触 Linux 的系统管理员来说 正确高效地完成各种关键 的系统配置简直是一件不可能的任务 即使是一个很有经验的 Linux 的管理员 也常常会为某些复杂的配置文件的格式而苦恼 本软件的开发主要是为了方便 网络系统管理员对本地和远程安装了 Linux 系统的服务器进行管理 增加管理 的方便性 利用 B S 结构也从另外一方面减少了管理员的劳动量 管理员利用 浏览器在远程登录后 可以方便的对服务器进行运行状态的查看 对网络服务 进行配置 对一些数据进行分析 而且可以对异常现象作出快速的反应 第 2 页 共 23 页 1 41 4 设计设计模式模式 浏览器Web服务器PHP引擎PHP脚本 图 1 设计模式 本系统的开发要求采用 B S 结构 如图 1 所示 本系统模拟 Webmin 进行设 计与开发 因此 首先了解 Webmin 的相关功能 结合本次毕业设计的相关要求 写出需求分析 其次 综合运用以前所学的相关知识选择所熟悉的开发工具进 行本毕业设计的开发 在设计中以需求分析为基础 写出系统开发计划 实现 流程及相关问题的实现方法 最后 系统开发完毕后 进行调试和测试 做好 调试和测试的相关记录 整个管理系统中 用文件操作模块作为突破口 首先设计整体页面 再写 出文件操作部分以深入了解该系统的工作方式及系统的大致面貌 然后设计 Shell 命令解释与执行部分操作和进程操作部分 继而逐步增加其他的功能与 模块 最后对整个系统进行修饰整理 从而完成了该系统 2 2LinuxLinux 远程管理分析远程管理分析 2 12 1 LinuxLinux 操作系统操作系统 2 1 12 1 1 LinuxLinux 究竟是什么 究竟是什么 Linux 操作系统是 UNIX 操作系统的一种克隆系统 它是一位赫尔辛基大 学学生 Linus Torvalds Linux 是 Linus s UNIX 的缩写 创造的 它诞生于 1991 年的 10 月 5 日 这是第一次正式向外公布的时间 借助于 Internet 网络 并经过全世界各地计算机爱好者的共同努力下 Linux 现已成为今天世 界上使用最多的一种 UNIX 类操作系统 并且使用人数还在迅猛增长 Linux 操作系统的诞生 发展和成长过程始终依赖着五个重要支柱 UNIX 操作系统 MINIX 操作系统 GNU 计划 POSIX 标准和 Internet 网络 用最简单的话说 Linux 是一个操作系统 Linux 本身实际上只是其内核 它实现了多任务和多用户功能 管理硬件 分配内存并且使应用程序能够运行 2 1 22 1 2 学习学习 LinuxLinux 您希望用 Linux 系统做什么将决定您想要什么样的 Linux 系统 以及在 开始使用该系统之前要对它有多深的理解 Linux 是进行内核研究 学习 UNIX 或学习编程的绝佳学习平台 有许多 工具和应用程序可用来玩游戏 进行桌面排版或者只是闲来无事发一下电子邮 件和浏览 Web 它也是开放和封闭式生产系统的绝佳平台 因为可自由地对其 进行最大程度的定制 Linux 可以作为各种事物的平台 从中间件到嵌入式计 第 3 页 共 23 页 算和群集 从并行超级计算机到小玩意儿 IBM 已经参与了制造在 Linux 上运 行的收银机的项目 以及制造 Linux 手表的项目 其他开发人员已经在手机和 Sony PlayStation 上使用了 Linux 如果完全不了解 Linux 或者正在使用 Linux 作为桌面操作系统 那么您 至少需要学习一些有关系统管理和安全性的基本知识 Linux 是作为编程平台的绝佳选择 它符合 GCC 这意味着您可以使用 GNU 项目出色的编程与调试工具套件 绝对免费 而且享有 GNU GPL 保证的所 有自由 2 1 32 1 3 LinuxLinux 远程管理远程管理 远程控制是在网络上由一台电脑 主控端 Remote 客户端 远距离去控制 另一台电脑 被控端 Host 服务器端 的技术 这里的远程不是字面意思的远 距离 一般指通过网络控制远端电脑 不过 大多数时候我们所说的远程控制 往往指在局域网中的远程控制而言 当操作者使用主控端电脑控制被控端电脑 时 就如同坐在被控端电脑的屏幕前一样 可以启动被控端电脑的应用程序 可以使用被控端电脑的文件资料 甚至可以利用被控端电脑的外部打印设备 打印机 和通信设备 调制解调器或者专线等 来进行打印和访问互联网 就像你利用遥控器遥控电视的音量 变换频道或者开关电视机一样 2 1 42 1 4 远程管理远程管理方法方法 目前主要的应用于 Linux 的远程连接技术大致分为以下三种 1 基于命令行的方式 Linux 命令 telnet telnet 在 linux 和 windows 下均可用 只要打 开相应的服务即可 telnet 的所有数据在网络上都是明文传输 所以 也有安全隐患 在实际的生产系统中也基本上废弃不用 而转用更安全 的 ssh 但是在某些场合 如内部局域网络 telnet 还是有用武之地 的 ssh 和 telnet 类似 但是数据在网络上是加密后再传输的 rlogin rsh等r系列命令 因为有较大的安全隐患 所以现在基本上废 弃不用 基于ssh的客户端软件 Secure SSH 或PUTTY等客户端工具通过ssh服务 来实现Windows下管理Linux服务器的 这些客户端工具配置使用简单 但是它们都无法启动窗口服务的程序或进程 也无法达到远程桌面控制 说明 命令行的管理方式适合进行初始化 网卡配置等基本操作 不适合 做丰富的管理功能 第 4 页 共 23 页 2 Web 管理方式 Web 管理方式是另一种管理工具 这种方式提供了简单的管理界面 适合 那些功能不是很多的管理工作 Linux 下有一个著名的基于 Web 的管理工具 Webmin 而 PHP Webmin 的设计初衷就是参照利用 Webmin 来实现对服务器的简 单管理 使用基于 Web 的管理方式 简单明了操作方便 适合简单的管理工作 3 基于管理端软件的图形界面方式 基于管理端软件的图形界面方式一般需要完成对系统的配置 管理和监控 图形的管理方式直观 是一种重要的管理工具 适合进行复杂的配置 连接多 台服务器 同时支持丰富的审计和日志的功能 2 1 52 1 5 WebminWebmin 初解初解 对于刚刚接触 Linux 的系统管理员来说 正确高效地完成各种关键的系统 配置简直是一件不可能的任务 即使是一个很有经验的 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 使用 perl 脚本编写 安装 Webmin 需要先安装 perl5 0 6 或以上版 本 如果目标系统上没有安装 perl 的话 需要到 http www 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 安装成系统的守护进程 在开启系统时自动启动 重新启动系统 访问 http localhost 10000 如果出现了 Webmin 的登录界 面就说明安装成功了 所有的管理功能都是以模块的形式插入到 Webmin 中的 Webmin 对形形色 色的管理模块进行了分类 主要的类别有 Webmin 系统 服务 硬件和 其他 第 5 页 共 23 页 当你成功登录到达 Webmin 的首页时 这些类别将以不同的属性页展现在你的面 前 2 1 62 1 6 PHPPHP WebminWebmin A A simplesimple webminwebmin onon PHPPHP PHP Webmin 是一个远程管理工具 它参照 Webmin 使用 PHP 来实现基于 Web 的对系统的简单管理 使用简单的 GUI 管理工具 实现对 Linux 服务器的 远程管理 达到帮助系统管理员 减轻系统管理员负担的目的 所以 可以把 PHP Webmin 说成是一个构建在 PHP 上的简单 Webmin A simple webmin on PHP 3 3需求分析需求分析 3 13 1 任务概述任务概述 3 1 13 1 1 目标目标 本系统的开发主要是为了方便网络系统管理员对本地和远程安装了 Linux 系统的服务器进行管理 增加管理的方便性 利用 B S 结构 减少了管理员的 劳动量 管理员利用浏览器在远程登录后 可以方便的对服务器进行运行状态 的查看 对网络服务进行配置 对一些数据进行分析 并对异常现象做出快速 的反应 本系统的目标是完成一个基于 WEB 的 Linux 上的 GUI 管理工具 给 Linux 系统管理员提供帮助 协助 Linux 系统管理员正确高效的完成各种关键的系统 配置 如远程的文件操作 Shell 命令执行 进程操作 系统操作 各种网络 服务配置等等 管理员通过浏览器访问次管理系统的各种管理功能并完成相应 的管理动作 要求此管理系统同时具有本地和远程管理的能力 要求注意一定 的安全设置 保证足够的安全性 在完成系统基本功能的前提下 注意一定的 扩展和伸缩性 要求亲近的管理界面和易用的操作 1 主要任务 运用所学知识 开发基于 Linux 的远程管理系统 以方便网络系统管理员 在客户端对本地或远程主机进行管理 本系统要求实现的部分功能有 文件操 作 命令操作 进程操作 系统操作 网络操作 2 相关要求 1 本系统的开发要求采用 B S 结构 选用所熟悉的开发工具及开发环境进 行本系统的设计与开发 2 本设计要求实现远程管理的功能 界面要简洁实用 功能要完善 第 6 页 共 23 页 3 1 23 1 2 工作模式工作模式 Internet PC 浏览器Linux服务器 Apache PHP引擎 PHP脚本 图 2 系统工作模式 在系统的性能方面 B S 模式具有异地浏览和信息采集的灵活性 任何时 间 任何地点 任何系统 只要可以使用浏览器上网 就可以使用 B S 系统的 终端 B S 模式还具有管理维护集中方便 用户使用简单 跨平台等优点 因此本系统采用 B S 模式 如图 2 方便系统管理员在 Linux Win 等各种 系统中通过浏览器对 Linux 主机进行远程管理 3 1 33 1 3 运行环境运行环境 硬件环境 A PC 机或服务器一台 B 内存 256M 以上 推荐 512M C PC 机需带显示器一个 软件环境 A Linux Redhat 9 0 以上 Linux 操作系统 B PHP4 或 PHP5 环境 C Apache 服务器 安装 ssl 模块 3 1 43 1 4 编程语言编程语言 PHP 是一种标准的 多用途的 面向对象的脚本语言 此系统中主要使用 PHP 脚本语言来进行具体功能实现 使用 html 与 javascript 来完成管理系统 页面设计 3 1 53 1 5 用户特点用户特点 本系统针对的是 Linux 系统管理员 需要管理员对 Linux 有一定程度了解 系统管理员需要理解服务器的远程管理 会使用 Linux 常用命令 即可使用本 系统对 Linux 服务器监视系统状态和进行诸如远程关机 重启等操作 本系统 能辅助系统管理员更好的管理 Linux 服务器 3 23 2 具体需求具体需求 3 2 13 2 1 功能功能需求需求 对 Linux 系统的管理 大致包括文件的管理 进程的监控 对系统信息的 第 7 页 共 23 页 监控 对系统用户和组的管理 对软件包组的管理 对网络信息的监控 对网 络服务的配置和管理等等方面 作为远程管理系统 应包含上述功能 同时还 可设计一个可远程运行系统命令的 shell 经过分析 此系统主要包含功能应 为 文件操作功能 系统命令运行功能 进程监控功能 系统信息浏览功能 用户与组管理功能 软件包管理功能 网络监控功能 网络服务配置与管理功 能等等 由于此系统是对服务器进行远程管理 涉及到服务器关键系统命令及敏感 数据 因此在登录时采用 SSL 安全连接 并进行目录访问控制 3 2 23 2 2 系统流程系统流程 通过SSL连接 登陆验证 通过验证管理模块 脚本 注销 是 否 调用脚本 进行管理 返回登陆验证 认证流程 管 理 流 程 注销流程 图 3 系统流程 如图 3 所示 此系统工作流程分为三个部分 认证流程 管理流程 注销 流程 1 认证流程 管理员端通过浏览器登录此远程网络服务管理系统 输入此系统用户名与 密码 用户名或密码错误则需重新输入 正确则进入此管理系统 获得一定权 限 管理系统服务 2 管理流程 当用户正确进入系统后 即可进行系统管理 点击某管理模块 设置某项 服务 系统通过网络发送命令到 Web 服务器 与服务器获得交互 服务器通过 PHP 引擎解析获得命令 调用相应脚本并执行 获得结果返回到远程主机 3 注销流程 管理员完成远程主机更新或管理后 可点击注销以退出本远程管理系统 系统发送注销命令到服务器 服务器使所登录用户失去管理权限 切断用户与 服务器的连接 返回到管理系统登录页面 第 8 页 共 23 页 4 4总体设计总体设计 4 14 1 模块划分与功能设计模块划分与功能设计 通过对系统的需求分析 把此 Linux 远程管理系统分为五个模块 如图 4 文件操作模块 命令操作模块 进程操作模块 系统操作模块 网络服务操作模块 五个模块的功能配合 再加上在对 Apache 服务器的特殊配置 整体实现了 对 Linux 服务器的远程管理与基本信息监控 文件操作 命令操作 进程操作 系统操作 网络操作 Linux远程管理系统 图 4 系统模块 在整个系统设计中 本人完成里命令操作模块与系统操作模块 其余模块 由合作者孙泽玺设计完成 4 1 14 1 1 功能模块的初步设计功能模块的初步设计 1 文件操作 在文件操作模块中可以进行查看文件或目录 新建文件或目录 删除文件 或目录 复制文件或目录 编辑文件 上传文件 下载文件等等操作 在此文 件操作模块中需对服务器文件或目录属性有一定设置 2 命令操作 对各种 SHELL 命令的解释与执行 可执行常用 Linux 命令 可在此模块中 进行进程操作和系统操作等等 注意使用的是 Web 模式 无法执行交互式 Shell 命令 第 9 页 共 23 页 如图 5 所示 在设计中 使用一个表单获得 commond 变量 提交给 system 函数后执行 system sudo commond 并返回结果 获取commond变量文本框输入否 提交给system函数 执行system函数并 显示结果 是否为空 显示出错 是 图 5 命令操作设计流程 3 进程操作 查看或终止正在运行的进程 查看开启的服务列表 端口号 对开启服务 进行管理 查看当前系统所有正在运行的进程并且可以对进程进行相关操作 4 系统操作 系统操作中包括 关机或重启 查看系统信息 管理用户和组 管理软件 包 如图 6 关机或重启 查看系统信息 管理用户和组 管理软件包 系统操作 图 6 系统操作模块结构图 如图 7 系统操作模块的总体设计跟命令操作中类似 使用表单获取所需 运行命令或参数 再提交给 system 函数执行并返回结果 获取子模块的 相应变量 选择子模块命令 调用system函数执行 内置命令 表单提交 参数 命令 参数 传递给system函 数执行相应命令 图 7 系统操作总体流程 第 10 页 共 23 页 1 关机和重启 可通过管理员点击 Shutdown Reboot 按钮 从而调用 system 函数执行内置的关机 重启命令 也可在表单中输入其他关机 或重启命令并运行 2 查看系统信息 通过 switch 判断提交的命令 并调用 system 函数执行 内置命令如 uname a fdisk l 等 包括查看 CPU 信息 查看分区 信息 查看内核 3 管理用户和组 可以查看系统拥有用户和组 并通过简单的表单提交 进行添加 删除用户或组的操作 详见图 8 用户 组编辑页提交给system函数 执行system函数进行 添加用户 组操作 表单提交用户 组保存页 用户 组查看 用户 组添加 用户 组删除提交给system函数 执行system函数进行 删除用户 组操作 用户 组删除页 提交给system函数 执行内置命令查询 用户 组并显示结果 用户 组管理 图 8 用户 组管理总体设计图 4 管理软件包 可以查看系统所有已安装软件包 并输入关键字搜索查看 特定软件包 以及根据搜索出的软件包名进行软件包删除操作 5 网络服务操作 管理 Apache 服务器 查看并配置 Apache 服务器状态与参数 管理 DNS 服务器 查看并配置 DNS 服务器参数 管理 MySQL 服务器 通过 Web 进行 Mysql 服务器的备份等 管理 DHCP 服务器 查看网络状态 配置网络参数 5 5详细设计详细设计 5 15 1 服务器服务器设计设计 此管理系统的目的是对 Linux 进行远程管理 则在管理过程中需要对 Linux 系统配置文件进行读取 或者运行系统命令 访问系统敏感数据等 而 在 Linux 系统中 默认的 Apache 用户权限是无法访问管理系统所需文件 无法 运行关键系统命令的 因此 需要对 Apache 服务器进行一些特殊配置 提升其 权限 并且需要考虑安全问题 对用户的认证问题等等 在本系统中 使用 SSL 连接 运用 Apache 基本验证来认证用户 通过对 Apache 服务器进行特殊 配置 使其获得 root 权限 完成远程管理 Linux 服务器的目的 第 11 页 共 23 页 5 1 15 1 1 更改更改 ApacheApache 配置配置 为了保证系统的安全性 在此对 Apache Web 服务器的目录执行访问控制 使用 htaccess 访问文件和 htpasswd 程序为一个目录建立 ACL 来对用户进 行身份验证 并在 htaccess 文件中设置使用 SSL 连接 完善安全性 假设 PHPWebmin 位于 var www phpwebmin 目录中 配置 httpd conf 用 vi 编辑器打开 Apache 配置文件 httpd Conf 默认在 etc httpd conf 目录下 找到字段 在下面的属性设置中添加或修改 AllowOverride ALL 此参数设置哪些目录使用 htaccess 进行保护 为所保护目录建立 ACL 进入 phpwebmin 目录 cd var www phpwebmin 在此目录下建立隐藏文件 htaccess 必须在 htaccess 文件前添加一个点号 如果不这样做 就无法建立 ACL 因为点号表示建立一个隐藏文件 vi htaccess 在 htaccess 文件中输 入如下代码 SSLRequireSSL 使用SSL安全连接 AuthName PHP Webmin 验证名称 AuthType Basic require valid user 允许password文件中的所有用户访问 AuthUserFile var www phpwebmin phpwebminpasswd 用户身份数据库文件 创建用户身份验证数据库 在命令行下输入以下口令创建用户身份验证数据库文件 会要求你为用户 admin 创建密码 htpasswd c var www phpwebmin phpwebminpasswd admin New password Re type new password 建立后的 phpwebminpasswd 文件内容类似于 admin Op96DPmXTKy5w 用户名 MD5 加密后的密码 若系统没有安装 htpasswd 也可在网上生成用户名密码后放入 phpwebminpasswd 文件 这样 就已经为 Apache 服务器建立了一个用户账号数据库 并对 phpwebmin 目录实行了目录保护 并实现了用户基本验证 需要用安全连接 https localhost phpwebmin 进行访问 访问过程中会弹出验证对话框 第 12 页 共 23 页 5 1 25 1 2 服务器特殊配置服务器特殊配置 Apache 的配置是为了实现目录保护和基本验证 但为了提高用户的权限 还需要对服务器进行一些配置 查看 httpd 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 25 2 命令操作模块设计命令操作模块设计 5 2 15 2 1 功能描述功能描述 对命令的解释与执行 执行常用 Linux 命令 通过前面的服务器配置后 使用户在浏览器中用户系统 root 权限 执行系统命令 注意使用的是 Web 模式 无法执行交互式 Shell 命令 5 2 25 2 2 界面设计界面设计 页面中仅有一个输入框 一个提交按钮 和一个结果显示区域 如图 9 图 9 命令执行 文本输入框获得 commond 变量 提交给 system 函数后运行并把结果显示在 textarea 中 input type text name command size 60 value 第 13 页 共 23 页 result 具体代码 5 2 35 2 3 工作流程工作流程 用户在文本框中输入并提交命令 点击 go 运行 在文本区域中返回并显示 运行结果 具体流程见 图 4 命令操作设计流程 实现代码如下 5 35 3 系统操作模块设计系统操作模块设计 系统操作模块中又包括关机和重启 查看系统信息 管理用户和组 管理 软件包四个子模块 不同的子模块采用相似的方式实现其功能 5 3 15 3 1 功能描述功能描述 系统关机 系统重启 查看系统 cpu 信息 查看硬盘信息 查看内核 查看系统用户和组 添加 删除用户 添加 删除组 查看系统安装软件包 根据关键字搜索软件包 根据软件包全名删 除软件 5 3 25 3 2 界面设计界面设计 基本设计为 页面上方为提交按钮 下方为一个文本区域 点击按钮时调 用 system 函数运行内置命令 并在文本区域中返回结果 下面以用户 组管理 模块来说明界面设计模式 如图 10 所示 查看用户 组页界面代码 具体代码 第 14 页 共 23 页 图 10 查看所有用户 在管理用户和组子模块中 首先在 edit user html 页中填写 user 属性 包括用户名 用户工作目录 用户 shell 用户 uid 用户密码等参数 提交至 save user php 页并运行 useradd 操作 同时返回运行结果 如图 11 所示 编辑用户页面中 三个输入框分别为用户名获取变量 user 用户 ID 获取变量 uid 用户目录获取变量 home 一个选择框选择用户 默认 shell 获取 shell 另一选择是否需要密码 需要则输入密码获取 encpass 使用一个提交按钮 Creat 来提交所输入的用户信息至 save user php 页 代码如下 Username User ID Home directory Shell bin sh bin csh bin bash bin false sbin nologin Other Password 第 15 页 共 23 页 No password required Encrypted password 图 11 新建用户 5 3 35 3 3 工作流程工作流程 1 用户点击关机与重启子模块 点击 Shutdown 或 Reboot 按钮产生关机或 重启操作 也可执行自定义关机 重启命令 具体流程如图 12 点击Shutdown Reboot 按钮 Shutdown 提交给 system函数 调用system函数执 行init 0 判断值获取init变量 Reboot 提交 给system函数 调用system函数执 行init 6 输入关机 重启命令获取command变量 调用system函数执 行sudo command 图 12 关机 重启操作流程 实现代码如下 switch POST init 第 16 页 共 23 页 case Shutdown echo Shutdown immediately n exec sudo init 0 break case Reboot echo Reboot immediately n exec sudo init 6 if POST command echo Waiting n exec sudo POST command if exec system exec echo nDone 2 打开查看系统信息子模块 查看 CPU Info Disk Info Kernel Version 流程如图 13 点击Kernel Version 调用system函数执行 sudo uname a 点击CPU info 调用system函数执行 sudo cat proc cpuinfo 点击Disk Info 调用system函数执行 sudo fdisk l 图 13 查看系统信息流程 实现代码如下 3 打开管理用户和组子模块 在初始页面中可查看系统用户和组 点击查 看用户 组按钮时 调用 system 函数运行 cat 命令 在文本区域中显示 etc passwd 或 etc group 文件的内容 点击添加用户连接进入用户的信息页面 user edit html 填写用户基本信 息 提交至添加页 user save php 运行 sudo useradd 命令 完成添加操作 点击删除用户连接 进入删除页面 del user php 填写用户名 运行 sudo userdel 命令 完成删除操作 工作流程见 图 8 用户 组管理总体设计图 下 面为添加 删除用户代码 添加用户代码 switch POST passmode case 0 passwd break case 1 passwd p POST encpass if POST home home d POST home user POST user uid u POST uid shell s POST shell commond sudo useradd POST user d POST home s POST shell u POST uid p POST encpass echo commond if commond system commond 删除用户代码 commond sudo userdel POST user echo commond if commond system commond 4 打开管理软件包子模块 查看系统已安装软件包 填写关键字搜索 根 据软件包全名进行删除操作 软件包管理流程如图 14 第 18 页 共 23 页 输入删除关键字 调用system函数执行sudo rpm e uninstall 提交uninstall变量 点击Show All Package 调用system函数执行sudo rpm qa 输入搜索关键字提交search变量 调用system函数执行sudo rpm qa grep search 图 14 软件包管理流程 查看已安装软件包代码 switch POST package case Show all package echo Waiting n exec sudo rpm qa 根据关键字搜索代码 if POST search echo Waiting n exec sudo rpm qa grep POST search if exec system exec 根据关键字删除代码 if POST uninstall echo Waiting n exec sudo e POST uninstall if exec if system exec echo nDone n elseecho Error Check your package name or operation 6 6系统安装使用与测试系统安装使用与测试 6 16 1 服务器设置服务器设置 按照 5 1 服务器设计中给出步骤 分别对 Apache Web 服务器 及 Linux 服务器进行配置 注意若不对 etc sudoers 进行配置 则本系统大部分功能无 第 19 页 共 23 页 法使用 也可省略对 htaccess 和 phpwebminpasswd 的生成 使用源代码中所带的 ACL 文件和用户密码数据文件 请注意修改 htaccess 文件中 AuthUserFile 后 的字段指向相应数据文件 默认用户名为 admin 密码为 admin 6 1 16 1 1 使用系统使用系统 把 PHP Webmin 源代码放至 var www phpwebmin 目录 在浏览器中通过 https localhost phpwebmin 进行访问和测试 也可通过远程访问进行测试 6 26 2 测试测试 6 2 16 2 1 基本测试基本测试 1 通过 https 登录并输入用户名和密码 通过认证则进入主页面 如图 15 图 15 主页面 2 若使用 http 登录则显示 Forbidden 如图 16 第 20 页 共 23 页 图 16 Http 无法登录 3 在未通过验证的情况下无法访问访问任何 phpwebmin 下级目录 6 2 26 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 需要在完成系统管理操 作后关闭浏览器或手动删除浏览器 session apache 用户经过配置后可执行 sudo 命令 产生了系统安全隐患 第 21 页 共 23 页 结结 论论 目前 经过紧张而有序的毕业设计 Linux 远程管理系统主体功能已全面 实现 系统界面简洁 操作方便 功能齐全 实现了文件操作 远程运行 Shell 命令 进程监控 用户 组管理 系统信息查看 Rpm 软件包管理 查看 配置网络参数 管理常见服务器软件的功能 基本实现了对 Linux 系统的远程 管理 但是也有需要进一步改进的地方 如 在进程监控时 需要查看进程信 息后结合命令行操作来实现对进程的关闭 还有本系统没有完全实现服务器配 置功能 没有完全解决对系统配置文件的读写问题等 本系统的设计与开发在老师的领导下都参照软件开发公司的设计与开发模 式 通过对本系统的需求分析 概要设计 详细设计 编码 测试等每一部分 的学习和实践 使我体会到系统的设计阶段有举足轻重的地位 设计的阶段的 质量优劣 直接影响到以后系统质量 需求是否准确 影响到最后系统是否能 达到功能的要求 如果设计合理 在编码阶段实现就相对容易了 本系统的实现过程中 本人对 Linux Webmin PHP Visio 设计工具等都 更深层次的认识和理解 本人相信这对以后工作将会大有益处的 综上所述 毕业设计阶段让我充分的应用四年在校所学的知识 让理论和 实践完美的结合起来 参考文献参考文献 1 Ashish Wilfred she had learned early to be indifferent to a man s height since she like a big soft asteroid The analogy pleased her Extending it she watched the terminator line crawl around her to bring the hills and valleys of her front into sunlight Cirocco liked space reading and sex not necessarily in that order She had never been able to satisfactorily combine all three but two was not bad New games were possible in free fall like the one they had been playing no hands They could use feet mouths knees or shoulders to position each other One had to be gentle and careful but with slow bites and nips anything could be done and in such an interesting way All of them came to the hydroponics room from time to time Ringmaster had seven private rooms and they were as necessary as oxygen But even Cirocco s cabin was crowded when two people were in it and it as at the bottom of the c

温馨提示

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

评论

0/150

提交评论