如图7,系统操作模块的总体设计跟命令操作中类似,使用表单获取所需运行命令或参数,再提交给system函数执行并返回结果: paper51.com
paper51.com 图7 系统操作总体流程 内容来自www.paper51.com 1) 关机和重启,可通过管理员点击Shutdown、Reboot按钮,从而调用system函数执行内置的关机、重启命令,也可在表单中输入其他关机或重启命令并运行; paper51.com 2) 查看系统信息,通过switch判断提交的命令,并调用system函数执行内置命令如uname –a、fdisk –l等,包括查看CPU信息、查看分区信息、查看内核; paper51.com 3) 管理用户和组,可以查看系统拥有用户和组,并通过简单的表单提交,进行添加、删除用户或组的操作,详见图8; 内容来自论文无忧网 www.paper51.com
http://www.paper51.com
图8 用户/组管理总体设计图 paper51.com 4) 管理软件包,可以查看系统所有已安装软件包,并输入关键字搜索查看特定软件包,以及根据搜索出的软件包名进行软件包删除操作; 内容来自论文无忧网 www.paper51.com
5、网络服务操作 内容来自论文无忧网 www.paper51.com ü 管理Apache服务器,查看并配置Apache服务器状态与参数; 内容来自论文无忧网 www.paper51.com ü 管理DNS服务器,查看并配置DNS服务器参数; 内容来自论文无忧网 www.paper51.com ü 管理MySQL服务器,通过Web进行Mysql服务器的备份等; paper51.com ü 管理DHCP服务器,查看网络状态,配置网络参数。 copyright paper51.com 5 详细设计 http://www.paper51.com 5.1 服务器设计 内容来自www.paper51.com 此管理系统的目的是对Linux进行远程管理,则在管理过程中需要对Linux系统配置文件进行读取,或者运行系统命令,访问系统敏感数据等。而在Linux系统中,默认的Apache用户权限是无法访问管理系统所需文件,无法运行关键系统命令的,因此,需要对Apache服务器进行一些特殊配置,提升其权限,并且需要考虑安全问题,对用户的认证问题等等。在本系统中,使用SSL连接,运用Apache基本验证来认证用户;通过对Apache服务器进行特殊配置,使其获得root权限,完成远程管理Linux服务器的目的。 copyright paper51.com
5.1.1 更改Apache配置 内容来自论文无忧网 www.paper51.com
为了保证系统的安全性,在此对Apache Web服务器的目录执行访问控制 ,使用.htaccess访问文件和htpasswd程序为一个目录建立ACL,来对用户进行身份验证,并在.htaccess文件中设置使用SSL连接,完善安全性。 copyright paper51.com 假设PHPWebmin位于/var/www/phpwebmin目录中。 paper51.com 1、配置httpd.conf 内容来自www.paper51.com 用vi编辑器打开Apache配置文件httpd.Conf(默认在/etc/httpd/conf/目录下),找到<Directory"/var/www">字段,在下面的属性设置中添加或修改 内容来自www.paper51.com
AllowOverride ALL //此参数设置哪些目录使用.htaccess进行保护; http://www.paper51.com 2、为所保护目录建立ACL 内容来自www.paper51.com 进入phpwebmin目录,cd /var/www/phpwebmin,在此目录下建立隐藏文件.htaccess(必须在htaccess文件前添加一个点号,如果不这样做,就无法建立ACL,因为点号表示建立一个隐藏文件) vi .htaccess,在.htaccess文件中输入如下代码: http://www.paper51.com SSLRequireSSL //使用SSL安全连接 copyright paper51.com AuthName"PHP Webmin" //验证名称 内容来自论文无忧网 www.paper51.com AuthTypeBasic 内容来自www.paper51.com requirevalid-user //允许password文件中的所有用户访问 内容来自论文无忧网 www.paper51.com AuthUserFile /var/www/phpwebmin/.phpwebminpasswd //用户身份数据库文件; 内容来自www.paper51.com
3、创建用户身份验证数据库 内容来自www.paper51.com 在命令行下输入以下口令创建用户身份验证数据库文件,会要求你为用户admin创建密码: http://www.paper51.com
htpasswd -c/var/www/phpwebmin/.phpwebminpasswd admin 内容来自论文无忧网 www.paper51.com New password: copyright paper51.com Re-type new password: 内容来自论文无忧网 www.paper51.com 建立后的.phpwebminpasswd文件内容类似于: http://www.paper51.com admin:Op96DPmXTKy5w //用户名:MD5加密后的密码 http://www.paper51.com 若系统没有安装htpasswd,也可在网上生成用户名密码后放入.phpwebminpasswd文件。 内容来自论文无忧网 www.paper51.com 这样,就已经为Apache服务器建立了一个用户账号数据库,并对phpwebmin目录实行了目录保护,并实现了用户基本验证,需要用安全连接https://localhost/phpwebmin/ 进行访问,访问过程中会弹出验证对话框。 内容来自www.paper51.com 5.1.2 服务器特殊配置 内容来自www.paper51.com Apache的配置是为了实现目录保护和基本验证,但为了提高用户的权限,还需要对服务器进行一些配置。 copyright paper51.com 1、查看httpd.conf文件找到User字段,查看Apache启动用户(默认为apache); paper51.com
2、编辑/etc/passwd文件,找到apache用户行,修改其shell(默认为/bin/nologin或/bin/false)为/bin/bash; http://www.paper51.com 3、编辑/etc/sudoers文件,在文件中rootALL=(ALL)ALL字段的下一行添加apache ALL=NOPASSWORD:ALL,使得apache用户能够通过sudo命令执行所有命令。 copyright paper51.com 经过此配置后,apache用户只要使用sudo命令即可获得root权限。 内容来自论文无忧网 www.paper51.com |