基于linux的远程管理系统客户端的实现内容摘要:
界面就说明安装成功了。 所有的管理功能都是以模块的形式插入到 Webmin 中的。 Webmin 对形形色色的管理模块进行了分类。 主 要的类别有: Webmin、系统、服务、硬件和 其他。 当你成功登录到达 Webmin 的首页时,这些类别将以不同的属性页展现在你的面前。 第 5 页 共 23 页 PHP Webmin A simple webmin on PHP PHP Webmin 是一个远程管理工具,它参照 Webmin,使用 PHP 来实现基于 Web的对系统的简单管理,使用简单的 GUI 管理工具,实现对 Linux 服务器的远程管理,达到帮助系统管理员、减轻系统管理员负担的目的。 所以,可以把 PHP Webmin说成是一个构建在 PHP 上的简单 Webmin —— A simple webmin on PHP。 3 需求分析 任务概述 目标 本 系统 的开发主要是为了方便网络系统管理员对本地和远程安装了 Linux系统的服务器进行管理,增加管理的方便性,利用 B/S 结构 , 减少了管理员的劳动量。 管理员利用浏 览器在远程登 录 后,可以方便的对服务器进行运行状态的查看,对网络服务进行配置,对一些数据进行分析, 并 对异常现象 做出 快速的反应。 本系统的目标是 完成一个基于 WEB 的 Linux 上的 GUI 管理工具,给 Linux 系统管理员提供帮助,协助 Linux 系统管理员正确高效的完成各种关键的系统配置,如远程的文件 操作、 Shell 命令执行、进程操作、系统操作、各种网络服务配置等等。 管理员通过浏览器访问次管理系统的各种管理功能并完成相应的管理动作;要求此管理系统同时具有本地和远程管理的能力,要求注意一定的安全设置,保证足够的安全性,在完成系统基本功能的前提下,注意一定的扩展和伸缩性,要求亲近的管理界面和易用的操作。 1. 主要任务 : 运用所学知识,开发基于 Linux 的远程管理系统, 以 方便网络系统管理员在客户端对本地或远程主机进行管理。 本系统要求实现的部分功能有 : 文件操作、命令操作、进程操作、系统操作、网络操作。 : 1) 本系统的开发要求采用 B/S 结构,选用所熟悉的开发工具及开发环境进行本系统的设计与开发。 2) 本设计要求实现远程管理的功能,界面要简洁实用,功能要完善。 工作模式 I n t e r n e tP C / 浏 览 器 L i n u x 服 务 器A p a c h e / P H P 引 擎P H P 脚 本图 2 系统工作模式 第 6 页 共 23 页 在系统的性能方面, B/S 模式具有异地浏览和信息采集的灵活性,任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用 B/S 系统的终端,B/S 模式还具有管理维护集中方便、用户使用简单、跨平台等优点。 因此本系统 采用 B/S 模式 (如图 2),方便系统管理员在 Linux/Win 等各种系统中通过浏览器 对 Linux 主机 进行 远程 管理。 运行环境 硬件环境: A. PC 机或服务器一台; B.内存 256M 以上(推荐 512M); C. PC 机需带显示器一个。 软件环境: A. Linux Redhat 以上 Linux 操作系统; B. PHP4 或 PHP5 环境; C. Apache 服务器,安装 ssl 模块。 编程语言 PHP 是一种标准的,多用途的,面向对象的脚本语言,此系统中 主要使用 PHP脚本语言来进行具体功能实现,使用 html 与 javascript 来完成管理系统页面设计。 用户特点 本系 统针对的是 Linux 系统管理员,需要管理员对 Linux 有一定程度了解。 系统管理员需要理解 服务器 的 远程 管理,会使用 Linux 常用命令,即可使用本系统对 Linux 服务器监视系统状态和进行诸如远程关机、重启等操作。 本系统能 辅助系统管理员更好的管理 Linux 服务器。 具体需求 功能 需求 对 Linux 系统的管理, 大致 包括文件的 管理 ,进程的监控,对系统信息的监控,对系统用户和组的管理,对软件包 组 的管理,对网络信息的监控,对网络服务的配置和管理等等 方面。 作为远程管理系统,应包含上述功能, 同时还可设计一个可远程运行系统命令 的 shell。 经过分析,此系统主要包含功能应为: 文件操作功能、系统命令运行功能、进程监控功能、系统信息浏览功能、用户与组管理功能、软件包管理功能、网络监控功能、网络服务配置与管理功能等等。 由于此系统是对服务器进行远程管理,涉及到服务器关键 系统命令及敏感数 第 7 页 共 23 页 据,因此在登录 时采用 SSL 安全连接,并进行目录访问控制。 系统流程 通 过 S S L 连 接登 陆 验 证通 过 验 证 管 理 模 块脚 本注 销是否调 用 脚 本进 行 管 理返 回 登 陆 验 证认 证 流 程管理流程注 销 流 程图 3 系统流程 如图 3所示,此系统工作流程分为三个部分:认证流程、管理流程、注销流程。 1. 认证流程 管理员端通过浏览器登录 此远程网 络服务管理系统,输入此系统用户名与密码,用户名或密码错误 则需 重新输入;正确则进入此管理系统,获得一定权限,管理系统服务。 2. 管理流程 当用户正确进入系统后,即可进行系统管理,点击某管理模块,设置某项服务,系统通过网络发送命令到 Web 服务器,与服务器获得交互,服务器通过 PHP引擎解析获得命令,调用相应脚本并执行,获得结果返回到远程主机。 3. 注销流程 管理员完成远程主机更新或管理后,可点击注 销以退出本远程管理系统,系统发送注销命令到服务器,服务器使所登录 用户失去管理权限,切断用户与服务器 的连接,返回到管理系统登录 页 面。 4 总体设计 模块划分与功能设计 通过对系统的需求分析,把此 Linux 远程管理系统分为五个模块 (如图 4): 文件操作模块; 命令操作模块; 进程操作模块; 系统操作模块; 网络服务操作模块。 五个模块的功能配合,再加上在对 Apache 服务器的 特殊 配置,整体实现了 第 8 页 共 23 页 对 Linux 服务器的远程管理与基本信息监控。 文件操作命令操作进程操作系统操作网络操作L i n u x 远 程 管 理 系 统 图 4 系统模块 在整个系统设计中,本人完成里命令操作模块与系统操作模块,其余模块由合作者孙泽玺设计完成。 功能模块的初步设计 文件操作 在 文件操作模块中可以进行 查看文件或目录,新建文件或目录,删除文件或目录,复制文件或目录, 编辑文件, 上传文件,下载文件 等等操作,在此文件操作模块中需对服务器文件或目录属性有一定设置; 命令操作 对各种 SHELL 命令的解释与执行 ,可执行常用 Linux 命令,可在此模块中进行进程操作和系统操作等等,注意使用的是 Web 模式,无法执行交互式 Shell 命令; 如图 5 所示, 在设计中,使用一个表单获得 mond 变量,提交给 system函数后执行 system(“ sudo $mond” ),并返回结果。 获 取 c o m m o n d 变 量文 本 框 输 入 否 提 交 给 s y s t e m 函 数执 行 s y s t e m 函 数 并显 示 结 果是 否 为 空显 示 出 错是 图 5 命令操作设计流程 进程操作 查看或终止正在运行的进程 , 查看开启的服务列表(端口号)、对开启服务 第 9 页 共 23 页 进行管理、查看当前系统所有正在运行的进程并且可以对进程进行相关操作 ; 系统 操作 系统操作中包括: 关机或重启 、 查看系统信息 、管理用户和组、管理软件包(如图 6); 关机或重启查看系统信息管理用户和组管理软件包 系 统 操 作 图 6 系统操作模块结构图 如图 7, 系统操作模块的总体设计跟命令操作中类似,使用表单获取所需运行命令或参数,再提交给 system 函数执行并返 回结果: 获 取 子 模 块 的相 应 变 量选 择 子 模 块命 令调 用 s y s t e m 函 数 执 行内 置 命 令表 单 提 交参 数命 令 / 参 数传 递 给 s y s t e m 函数 执 行 相 应 命 令 图 7 系统操作总体流程 1) 关机和重启,可通过管理员点击 Shutdown、 Reboot按钮,从而调用 system函数执行内置的关机、重启命令,也可在表单中输入其他关机或重启命令并运行; 2) 查看系统信息,通过 switch 判断提交的命令,并调用 system 函数执行内置命令如 uname – a、 fdisk – l 等,包括查看 CPU 信息、查看分区信息、查看内核; 3) 管理用户和组,可以查看系统拥有用户和组,并通过简单的表单提交,进行添加、删除用户或组的操作 ,详 见图 8; 第 10 页 共 23 页 用 户 / 组 编 辑 页 提 交 给 s y s t e m 函 数执 行 s y s t e m 函 数 进 行添 加 用 户 / 组 操 作表 单 提 交 用 户 / 组 保 存 页用 户 / 组 查 看用 户 / 组 添 加用 户 / 组 删 除 提 交 给 s y s t e m 函 数执 行 s y s t e m 函 数 进 行删 除 用 户 / 组 操 作用 户 / 组 删 除 页提交给syst em函数执 行 内 置 命 令 查 询用 户 / 组 并 显 示 结 果用 户 / 组 管 理 图 8 用户 /组管理总体设计图 4) 管理软件包,可以查看系统所有已安装软件包,并输入关键字搜索查看特定软件包,以及根据搜索出的软件包名进行软件包删除操作; 网络 服务操作 管理 Apache 服务器, 查看并配置 Apache 服务器状态与参数; 管理 DNS服务器, 查看并配置 DNS 服务器参数; 管理 MySQL 服务器, 通过 Web 进行 Mysql 服务器的备份等; 管理 DHCP 服务器,查看网络状态,配置网络参数。 5 详细设计 服务器设计 此管理系统的目的是对 Linux 进行远程管理,则在管理过程中需要对 Linux系统配置文件进行读取,或者运行系统命令,访问系统敏感数据等。 而在 Linux系统中,默认的 Apache 用户权限是无法访问管理系统所需文件,无法运行关键系统命令的,因此,需要对 Apache 服务器进行一些特殊配置,提升其权限,并且需要考虑安全问题,对用户的认证问题等等。 在本系统中,使用 SSL 连接,运用 Apache 基本验证来认证用户;通过对 Apache 服务器进行特殊配置,使其获得root 权限,完成远程管理 Linux 服务器的目的。 更改 Apache 配置 为了保证系统的 安全性,在此对 Apache Web 服务器的目录执行访问控制 ,使用 .htaccess 访问文件和 htpasswd 程序为一个目录建立 ACL,来对用户进行身份验证,并在 .htaccess 文件中设置使用 SSL 连接,完善安全性。 假设 PHPWebmin 位于 /var//phpwebmin 目录中。 1、 配置 用 vi 编辑器打开 Apache 配置文件 (默认在 /etc/d/conf/目录下),找到 Directory /var/字段,在下面的属性设置中添加或修改 AllowOverride ALL //此参数设置哪些目录使用 .htaccess进行保护; 第 11 页 共 23 页 2、 为所保护目录建立 ACL 进入 phpwebmin 目录, cd /var//phpwebmin,在此目录下建立隐藏文件 .htaccess(必须在 htaccess 文件前添加一个点号,如果不这样做,就无法建立 ACL,因为点号表示建立一个隐藏文件 ) vi .htaccess,在 .htaccess 文件中输入如下代码: SSLRequireSSL //使用 SSL安全连接 AuthName PHP Webmin //验证名 称 AuthType Basic require validuser //允许 password文件中的所有用户访问 AuthUserFile /var//phpwebmin/.phpwebminpasswd //用户身份数据库文件 ; 3、 创建用户身份验证数据库 在命令行下输入以下口令创建用户身份验证数据库文件,会要求你为用户admin 创建密码: htpasswd c /var//phpwebmin/.phpwebmi。基于linux的远程管理系统客户端的实现
相关推荐
理模块 部门管理模块 员工管理模块 息 短信管理模块 /回复信息 公告管理。 文档管理。 (2) 详细功能模块设计 1) 部门管理模块 它包括管理员保存,修改和删除部门信息。 流程图如图 所示。 基于 PHP 的办公自动化管理 系统 设计与实现 第 9 页 共 49 页 添 加 部 门判 断 权 限添 加 部 门 类 别无 权 限 管 理无 权 限 图 部门添加流程图 修 改判 断 权 限修 改
1、着市场经济的不断发展和人民生活水平的不断提高,以鲜食为主的甜、糯玉米,越来越受农户的喜爱和欢迎。 种植特种玉米带来的经济效益比种普通玉米提高了 23 倍,效益非常可观。 有不少农户向种子站咨询种植甜、糯玉米的栽培技术。 笔者根据甜、糯玉米种植中发现的问题,就如何种好甜、糯玉米,谈谈栽培要点及注意事项。 1 隔离种植甜、糯玉米是由单个隐性基因控制的,生产过程中需要控制纯度
据库所需网络化的特点,可选用 B/S 结构进行设计,用 Apache、 PHP 和 MySQL 来进行构建 , 力求完成一个 功能齐全 、操作见面、界面亲和友好 的学校综合管理系统。 Mysql 数据库技术 建立学校综合管理系统的数据库,不但要考虑到当前的使用情况,更要进行长远 发展 的考虑。 在一般情况下,基础数据库会因为平台使用时间的增加而进行扩张 以及积累。 依据这个原理
( 5) 应用的多部门化和开发环境的高效化 客户 能 在 跨部门乃至整个企业 内创建应用,跨度 非常大。 Visual Studio 2020将支持大范围的应用开发。 在 Visual Studio 2020 下开发软件可以使用简单的拖拽式。 操作难度不大,效率极高。 SQL Server2020 SQL Server 2020是一款强大的数据库软件
果以HTML(或者 XML)页面的形式发送回浏览器。 这既有助于作者保护自己的代码,又能保证任何基于 HTML 的 Web 浏览器的完全可用性。 ( 2) .可重用组件 绝大多数 JSP 页面依赖于可重用的、跨平台的组件( JavaBeans 或者 Enterprise JavaBeans 组件)来执行应用程序所要求的复杂的处理。 开发人员能够共享和交换执行普通操作的组件